File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ {
2+ pkgs ,
3+ self ,
4+ } :
5+
6+ let
7+ noctaliaWrapped =
8+ ( self . wrapperModules . noctalia . apply {
9+ inherit pkgs ;
10+ } ) . wrapper ;
11+
12+ in
13+ pkgs . runCommand "noctalia-test" { } ''
14+ # if the config is invalid the text helix will complain here.
15+ # sady no other dedicated check config command exists
16+ res=$(${ pkgs . lib . getExe noctaliaWrapped } config validate)
17+ echo $res
18+ if [[ '' ${#res} == 0 ]]; then
19+ touch $out
20+ fi
21+ ''
Original file line number Diff line number Diff line change 1+ {
2+ config ,
3+ lib ,
4+ wlib ,
5+ ...
6+ } :
7+ let
8+ tomlFmt = config . pkgs . formats . toml { } ;
9+ in
10+ {
11+ _class = "wrapper" ;
12+ options = {
13+ settings = lib . mkOption {
14+ type = tomlFmt . type ;
15+ description = ''
16+ Noctalia Settings
17+ See <https://docs.noctalia.dev/v5/>
18+ '' ;
19+ default = { } ;
20+ } ;
21+ "config.toml" = lib . mkOption {
22+ type = wlib . types . file config . pkgs ;
23+ default . path = tomlFmt . generate "noctalia-config" config . settings ;
24+ } ;
25+ } ;
26+
27+ # waiting for noctalia to be updated to v5 in nixpkgs
28+ config . package = config . pkgs . callPackage ./package.nix { } ;
29+ config . env = {
30+ NOCTALIA_CONFIG_HOME = toString (
31+ config . pkgs . linkFarm "noctalia-config" [
32+ {
33+ name = "noctalia/config.toml" ;
34+ path = config . "config.toml" . path ;
35+ }
36+ ]
37+ ) ;
38+ } ;
39+ config . meta . maintainers = [ lib . maintainers . kruemmelspalter ] ;
40+ }
Original file line number Diff line number Diff line change 1+ ### waiting for noctalia to be updated to v5 in nixpkgs
2+ ### adapted from upstream at <https://github.com/noctalia-dev/noctalia/blob/d967ed5f5484e57866350106be8bfe3b50f90cfd/nix/package.nix> (licensed MIT)
3+ {
4+ lib ,
5+ config ,
6+ stdenv ,
7+ fetchFromGitHub ,
8+ meson ,
9+ ninja ,
10+ pkg-config ,
11+ wayland-scanner ,
12+ wayland ,
13+ wayland-protocols ,
14+ libGL ,
15+ libglvnd ,
16+ freetype ,
17+ fontconfig ,
18+ cairo ,
19+ pango ,
20+ harfbuzz ,
21+ libxkbcommon ,
22+ sdbus-cpp_2 ,
23+ systemdLibs ,
24+ pipewire ,
25+ pam ,
26+ curl ,
27+ libwebp ,
28+ glib ,
29+ polkit ,
30+ librsvg ,
31+ libqalculate ,
32+ libxml2 ,
33+ jemalloc ,
34+ autoAddDriverRunpath ,
35+ cudaSupport ? config . cudaSupport ,
36+ } :
37+
38+ stdenv . mkDerivation {
39+ pname = "noctalia" ;
40+ version = "4.7.7-unstable-2026-06-11" ;
41+
42+ strictDeps = true ;
43+ __structuredAttrs = true ;
44+
45+ src = fetchFromGitHub {
46+ owner = "noctalia-dev" ;
47+ repo = "noctalia" ;
48+ rev = "7421f80b041e81d6e202a25ade6bfc59d716dd43" ;
49+ hash = "sha256-H+uwJBulU/0Qt+BGUvlyrTPgcdOfojSalklpEuKKD2c=" ;
50+ } ;
51+
52+ postPatch = ''
53+ # Remove -march=native and -mtune=native for reproducible builds
54+ substituteInPlace meson.build --replace-fail "'-march=native', '-mtune=native'," ""
55+ '' ;
56+
57+ nativeBuildInputs = [
58+ meson
59+ ninja
60+ pkg-config
61+ wayland-scanner
62+ ]
63+ ++ lib . optional cudaSupport autoAddDriverRunpath ;
64+
65+ buildInputs = [
66+ wayland
67+ wayland-protocols
68+ libGL
69+ libglvnd
70+ freetype
71+ fontconfig
72+ cairo
73+ pango
74+ harfbuzz
75+ libxkbcommon
76+ sdbus-cpp_2
77+ systemdLibs
78+ pipewire
79+ pam
80+ curl
81+ libwebp
82+ glib
83+ polkit
84+ librsvg
85+ libqalculate
86+ libxml2
87+ jemalloc
88+ ] ;
89+
90+ mesonBuildType = "release" ;
91+
92+ ninjaFlags = [ "-v" ] ;
93+
94+ meta = {
95+ description = "Sleek and minimal desktop shell thoughtfully crafted for Wayland" ;
96+ homepage = "https://github.com/noctalia-dev/noctalia" ;
97+ license = lib . licenses . mit ;
98+ platforms = lib . platforms . linux ;
99+ maintainers = with lib . maintainers ; [
100+ spacedentist
101+ kruemmelspalter
102+ dtomvan
103+ ] ;
104+ mainProgram = "noctalia" ;
105+ } ;
106+ }
You can’t perform that action at this time.
0 commit comments