feat: Add noctalia-shell for niri

This commit is contained in:
ulic-youthlic 2025-11-10 19:28:58 +08:00
parent 7de5231d38
commit e2963cf15c
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
7 changed files with 1157 additions and 839 deletions

491
flake.lock generated
View file

@ -78,11 +78,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1762174035, "lastModified": 1762735459,
"narHash": "sha256-I5AEdZ17rUUvOK9KDD7KgcPhiYvsZwt5UYcx4ZU/lhg=", "narHash": "sha256-VZRCyMRSLFORBzH+pYzDSx/ooIBD5Ohrv28sWktSiqk=",
"owner": "HeitorAugustoLN", "owner": "HeitorAugustoLN",
"repo": "betterfox-nix", "repo": "betterfox-nix",
"rev": "9505c7f12d01462782eeb46686677f11a4b998e5", "rev": "37ac3490a7e2825985ce5c0004489b2264ea1cd0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -100,11 +100,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1762233483, "lastModified": 1762741551,
"narHash": "sha256-7xrOMk264pHNe1EC55k+Q4KX+pebIepNIPAsqXCgnGk=", "narHash": "sha256-m37GDrMOQWwB+QUpispta1ZCVLpV4keBlPoEu1tPGb0=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "035a14f12abe016db315413480fb913196c4ed14", "rev": "438c8d1c8cd61df1227e280a2e6114423494a5ab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -194,11 +194,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1762359868, "lastModified": 1762766112,
"narHash": "sha256-FKn8KF2UNbxZIQJ09VitZ/16E8toZN4gM+qqljVf45E=", "narHash": "sha256-Rir5cR/b9c0q257IW9g1Kjcx4qNb1hJJhPfDJ/lj2pc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "e828183cf33679f67da737218bb7a3b5ab89a5dd", "rev": "66d20d181a2f42ad4878e8557ae8bdd2ba9482c4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -217,11 +217,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762359868, "lastModified": 1762763403,
"narHash": "sha256-FKn8KF2UNbxZIQJ09VitZ/16E8toZN4gM+qqljVf45E=", "narHash": "sha256-O7DYpoDsRjWEdn2bBP0m6as8br/fqZnxjIUqIsxb3Fc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "e828183cf33679f67da737218bb7a3b5ab89a5dd", "rev": "722ba5c4d7b5fcaed65b18b25f7f572fc4236791",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -286,11 +286,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762040540, "lastModified": 1762440070,
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=", "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "0010412d62a25d959151790968765a70c436598b", "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -364,11 +364,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1762040540, "lastModified": 1762440070,
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=", "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "0010412d62a25d959151790968765a70c436598b", "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -385,11 +385,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762040540, "lastModified": 1762440070,
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=", "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "0010412d62a25d959151790968765a70c436598b", "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -559,17 +559,15 @@
}, },
"helix": { "helix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": "nixpkgs_3",
"nixpkgs"
],
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1762352939, "lastModified": 1762716787,
"narHash": "sha256-yYFrlLL3UCyWfZOMnoAtUzS3BB8gk2KpEnl0vHQvkfM=", "narHash": "sha256-YfcY28igFL5ZPCTtVBaVUvnhcWg8tyiBVSlULpXEIeQ=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "3f4a286c8dc586d3261bfba3cb2ec3fad5c36efe", "rev": "a79292b630ae4a0e6e37814ad21411ab50926c73",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -587,11 +585,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762146130, "lastModified": 1762661401,
"narHash": "sha256-/XOEA0a61fZ45i/BpaSsyLNNbw/yKwjMbkB/IWSGLzU=", "narHash": "sha256-SVmijc8t23UMwru5f/9X1Ak5bSwvYkm0OQ5SxR7hOB0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b5ed4afc2277339bdf0e9edf59befff7350cf075", "rev": "c053d701d64f0727f62e0269c7940da5805bc9bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -607,11 +605,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762463325, "lastModified": 1762721397,
"narHash": "sha256-33YUsWpPyeBZEWrKQ2a1gkRZ7i0XCC/2MYpU6BVeQSU=", "narHash": "sha256-E428EuouA4nFTNlLuqlL4lVR78X+EbBIqDqsBFnB79w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0562fef070a1027325dd4ea10813d64d2c967b39", "rev": "b8645b18b0f5374127bbade6de7381ef0b3d5720",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -622,11 +620,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1761120675, "lastModified": 1762327901,
"narHash": "sha256-TEbh9zISiQcU82VwVoEbmXHnSGlUxTwvjJA9g9ErSDA=", "narHash": "sha256-AJ96FNj50DU0bTyIzAPkPOjCZTHqjURVjok8qoXvmqM=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "a037ed2a58fc0ebed9e93b9ef79b0646e648f719", "rev": "90fa129798be99cde036b78658e89475710966a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -672,11 +670,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1761748321, "lastModified": 1762452596,
"narHash": "sha256-hD5mVzmUeyVppjArdy2uVdQe/CQUR9i3WgZB05onE7A=", "narHash": "sha256-Iaga+mkwWnWa6FxsAYknpHzeP344VCKGkdudX420LgA=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "533db5857c9e00ca352558a928417116ee08a824", "rev": "99919fd35e70c1b18ce948d5329928d751031312",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -690,7 +688,7 @@
"crane": "crane", "crane": "crane",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"pre-commit-hooks-nix": "pre-commit-hooks-nix", "pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_3"
}, },
@ -752,14 +750,14 @@
"inputs": { "inputs": {
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_4",
"neovim-src": "neovim-src", "neovim-src": "neovim-src",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1762473887, "lastModified": 1762733080,
"narHash": "sha256-4VHnHYQGQ8K+i5slfTwnpyP12hi7mq0V4Wra6EB3k5A=", "narHash": "sha256-kgGO0tdvFChcUk3KXHwqrvKfY1Td3i4EehtE2xsch8s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "52fab1d59b4bc5a4d11a1c7f8cdfb47412ff8572", "rev": "383208e4ec49f9eb568d25fd9f5efa0625873e59",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -771,11 +769,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1762421241, "lastModified": 1762729645,
"narHash": "sha256-sRgrLaZ1XOAxAKq0iENJVmVj/X7jhAd99x25+OKbxLc=", "narHash": "sha256-QnSYFDWlfQAtPWLtOY7Ab3SipYC5l27eCCJKX0i8jkY=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "f2bfde9140ca646db3e2b67b97b1e54b70408703", "rev": "76fdd9b882489b233ca00a0809d719c70e48b164",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -796,11 +794,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1762492910, "lastModified": 1762752888,
"narHash": "sha256-XFsC9zakODOSU15VUvz61SI7EBR0WkMQJ+HU8OeVhdI=", "narHash": "sha256-46uhRb9nooRZATUb2dya58MPzn6i/o1XFWvslW+AUMo=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "ba50ee8656c5808cb945d08a3858cde049fa77f8", "rev": "fbe8bfd6050d7c3acc795095ba97643cb7b4b475",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -829,11 +827,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1762146685, "lastModified": 1762492604,
"narHash": "sha256-anRlNG6t7esBbF1+ALDeathVBSclA0PEL52Vo0WnN5g=", "narHash": "sha256-cjXYF5+gGaapr6d1Jz70GZQVzK4qzwDUwU86p9+H2mM=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "a2ca2b3c866bc781b12c334a9f949b3db6d7c943", "rev": "2144f9a6ae7b675213f9bd86d0989c334baa1c00",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -852,11 +850,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1762418669, "lastModified": 1762769782,
"narHash": "sha256-y80u5pGLXbhD72il0s/x9IwIzIlCoTyCmBKLROs8Rbw=", "narHash": "sha256-wNOnbHeEfvXaesvQofkHKgfmZOFHSG65dIfmpRK5E3I=",
"owner": "marienz", "owner": "marienz",
"repo": "nix-doom-emacs-unstraightened", "repo": "nix-doom-emacs-unstraightened",
"rev": "6a76389b304a33d05c28999cadfcb90c944b85c8", "rev": "c7fd9e387155b5f59de591d473bbcc58b56ab369",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -868,14 +866,14 @@
"nix-gaming": { "nix-gaming": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_5", "flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1762480511, "lastModified": 1762740007,
"narHash": "sha256-NIFQhQG7quJiysxPNP7k/3rRMaRKSL2x8qR8jjvk6yk=", "narHash": "sha256-CtMgV9vfm16x/0NBQmQQe/Vbv423cPWeNfBtiVYcUBk=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "cf716e9b2f0fda1b1809156121037f646815eb26", "rev": "8dce0b23e30b03efbdc94e8db7cb27298446e4cc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -918,11 +916,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759653262, "lastModified": 1762651903,
"narHash": "sha256-uTiQXY/ZlplEq1j2jH0k6oDzldid0xHgnLsLQyRRbvk=", "narHash": "sha256-2gdNl8glUCVf8EBmITIgEavrHT8bWshA8FgV4Ci5LAc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix4nvchad", "repo": "nix4nvchad",
"rev": "9d91858966b5d4e87ee52e16993988dfea9b0f94", "rev": "b671afe8a4974ad70c32de470bc98f8ccea36396",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -949,11 +947,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1762111121, "lastModified": 1762596750,
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1011,11 +1009,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1762233356, "lastModified": 1762498405,
"narHash": "sha256-cGS3lLTYusbEP/IJIWGgnkzIl+FA5xDvtiHyjalGr4k=", "narHash": "sha256-Zg/SCgCaAioc0/SVZQJxuECGPJy+OAeBcGeA5okdYDc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ca534a76c4afb2bdc07b681dbc11b453bab21af8", "rev": "6faeb062ee4cf4f105989d490831713cc5a43ee1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1027,11 +1025,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1762233356, "lastModified": 1762498405,
"narHash": "sha256-cGS3lLTYusbEP/IJIWGgnkzIl+FA5xDvtiHyjalGr4k=", "narHash": "sha256-Zg/SCgCaAioc0/SVZQJxuECGPJy+OAeBcGeA5okdYDc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ca534a76c4afb2bdc07b681dbc11b453bab21af8", "rev": "6faeb062ee4cf4f105989d490831713cc5a43ee1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1041,119 +1039,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_10": {
"locked": {
"lastModified": 1762111121,
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1754243818,
"narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c460617dfb709a67d18bb31e15e455390ee4ee1c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1762361079,
"narHash": "sha256-lz718rr1BDpZBYk7+G8cE6wee3PiBUpn8aomG/vLLiY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ffcdcf99d65c61956d882df249a9be53e5902ea5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1761880412,
"narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1762363567,
"narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1762156382,
"narHash": "sha256-Yg7Ag7ov5+36jEFC1DaZh/12SEXo6OO3/8rqADRxiqs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7241bcbb4f099a66aafca120d37c65e8dda32717",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1762363567,
"narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1761236834, "lastModified": 1761236834,
"narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=",
@ -1169,19 +1055,147 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1762596750,
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1762596750,
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1754243818,
"narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c460617dfb709a67d18bb31e15e455390ee4ee1c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1762482733,
"narHash": "sha256-g/da4FzvckvbiZT075Sb1/YDNDr+tGQgh4N8i5ceYMg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e1ebeec86b771e9d387dd02d82ffdc77ac753abc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1762361079,
"narHash": "sha256-lz718rr1BDpZBYk7+G8cE6wee3PiBUpn8aomG/vLLiY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ffcdcf99d65c61956d882df249a9be53e5902ea5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1762596750,
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1762482733,
"narHash": "sha256-g/da4FzvckvbiZT075Sb1/YDNDr+tGQgh4N8i5ceYMg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e1ebeec86b771e9d387dd02d82ffdc77ac753abc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1762596750,
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_6", "flake-parts": "flake-parts_6",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_8",
"nuschtosSearch": "nuschtosSearch", "nuschtosSearch": "nuschtosSearch",
"systems": "systems_6" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1762473729, "lastModified": 1762691346,
"narHash": "sha256-0mKCvL4MUuraS3dVFgRETOM96t0n68J851gZ0HK8U1k=", "narHash": "sha256-dyYnqvYrgViB22inBqNern/XSWtOiweP8NTfJQJeTis=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "f0dceb449af35c83a0e2bf23c71f50fc61aff42f", "rev": "faf1fb4b7cd069ce44469e45c3259b7bcf106f81",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1190,17 +1204,41 @@
"type": "github" "type": "github"
} }
}, },
"noctalia": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"quickshell": [
"quickshell"
],
"systems": "systems_7"
},
"locked": {
"lastModified": 1762823933,
"narHash": "sha256-1/WhEHJCYxXOh+fHL3izqir0h9rAn+V3zfnS+kGiMyk=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "d59299798fe8298ad5d0467c9096a6b1ee2d6133",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_7", "flake-parts": "flake-parts_7",
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1762490224, "lastModified": 1762770405,
"narHash": "sha256-2wsVxoPC2T3d7FMd0oPtdoxe5YM+KUdC28AswkwXAaI=", "narHash": "sha256-HJo5R+/+LOhALb8PF16YaR983+HscBgMAJKUaVfNhik=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "4318ccbc77e8db38d8c81bbbb0215962091a4e0e", "rev": "552b8fe95b4befc7078b9d6c971b65989657c158",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1299,6 +1337,26 @@
"type": "github" "type": "github"
} }
}, },
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1761897390,
"narHash": "sha256-er4gYrIoThYLjlsOMTysoRfn67d1Gci+ZpqDrtQxrA0=",
"owner": "outfoxxed",
"repo": "quickshell",
"rev": "fc704e6b5d445899a1565955268c91942a4f263f",
"type": "github"
},
"original": {
"owner": "outfoxxed",
"repo": "quickshell",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"betterfox-nix": "betterfox-nix", "betterfox-nix": "betterfox-nix",
@ -1318,11 +1376,13 @@
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nix4nvchad": "nix4nvchad", "nix4nvchad": "nix4nvchad",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_7",
"nixpkgs-455083": "nixpkgs-455083", "nixpkgs-455083": "nixpkgs-455083",
"nixvim": "nixvim", "nixvim": "nixvim",
"noctalia": "noctalia",
"nur": "nur", "nur": "nur",
"nvchad-starter": "nvchad-starter", "nvchad-starter": "nvchad-starter",
"quickshell": "quickshell",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"spacemacs": "spacemacs", "spacemacs": "spacemacs",
"stylix": "stylix", "stylix": "stylix",
@ -1337,11 +1397,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762137611, "lastModified": 1762655942,
"narHash": "sha256-sTqb10FR/YQCuGbw16qxliX0NFlYg6evSEjN8w+9IYE=", "narHash": "sha256-hOM12KcQNQALrhB9w6KJmV5hPpm3GA763HRe9o7JUiI=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "3a0ebe5d2965692f990cb27e62f501ad35e3deeb", "rev": "6ac961b02d4235572692241e333d0470637f5492",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1399,11 +1459,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760998189, "lastModified": 1762659808,
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", "narHash": "sha256-2Kv2mANf+FRisqhpfeZ8j9firBxb23ZvEXwdcunbpGI=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", "rev": "524312bc62e3f34bd9231a2f66622663d3355133",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1415,11 +1475,11 @@
"spacemacs": { "spacemacs": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1762463183, "lastModified": 1762718507,
"narHash": "sha256-yX7Y447SV3ww5QciuUlaGFZEj5yEhZyOoYFa0rdKw3A=", "narHash": "sha256-lSVUv72H0OzK36JRiYS7+unR0TWgr8ftqhpXW44GszE=",
"owner": "syl20bnr", "owner": "syl20bnr",
"repo": "spacemacs", "repo": "spacemacs",
"rev": "3b82bf591e735d5ad31467fae55eb85585f6aba3", "rev": "6043d1a231f6b07c7029b28a3e2e791ff881ad3e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1443,7 +1503,7 @@
"nixpkgs" "nixpkgs"
], ],
"nur": "nur_2", "nur": "nur_2",
"systems": "systems_7", "systems": "systems_8",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
@ -1569,6 +1629,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_8": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": { "tinted-foot": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -1652,7 +1727,7 @@
}, },
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1762410071, "lastModified": 1762410071,
@ -1688,11 +1763,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1762488100, "lastModified": 1762747449,
"narHash": "sha256-pD8YqwP0/irHWzJtVElnVljR+OaJPAVbJBwqix+uB5A=", "narHash": "sha256-Z1TKiux8K09a93w4PFDFsj8HFugXNy3iCC3Z8MpR5Rk=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "3cd3edffe1be197326e9314816b16bb4e3d685b1", "rev": "6338574bc5c036487486acde264f38f39ea15fad",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -65,9 +65,6 @@
owner = "helix-editor"; owner = "helix-editor";
repo = "helix"; repo = "helix";
ref = "master"; ref = "master";
inputs = {
nixpkgs.follows = "nixpkgs";
};
}; };
home-manager = { home-manager = {
@ -228,5 +225,21 @@
owner = "fufexan"; owner = "fufexan";
repo = "nix-gaming"; repo = "nix-gaming";
}; };
quickshell = {
type = "github";
owner = "outfoxxed";
repo = "quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
noctalia = {
type = "github";
owner = "noctalia-dev";
repo = "noctalia-shell";
inputs = {
nixpkgs.follows = "nixpkgs";
quickshell.follows = "quickshell";
};
};
}; };
} }

View file

@ -1,13 +1,12 @@
{ {
config, config,
pkgs,
lib, lib,
inputs, inputs,
osConfig ? (throw "Trying to access osConfig, the home-manager module is not being used in the nixos module"),
... ...
}: { }: {
config.david.programs.niri.config = let config.david.programs.niri.config =
inherit (lib) getExe getExe'; let
inherit (lib) getExe;
inherit inherit
(inputs.niri-flake.lib.kdl) (inputs.niri-flake.lib.kdl)
# node with args, props and children # node with args, props and children
@ -27,49 +26,47 @@
plain plain
; ;
swaylock = getExe config.programs.swaylock.package; # swaylock = getExe config.programs.swaylock.package;
fuzzel = getExe config.programs.fuzzel.package; # fuzzel = getExe config.programs.fuzzel.package;
waybar = getExe config.programs.waybar.package; # waybar = getExe config.programs.waybar.package;
swaync = getExe config.services.swaync.package; # swaync = getExe config.services.swaync.package;
fcitx5 = lib.getExe' osConfig.i18n.inputMethod.package "fcitx5";
polkit-kde-agent = getExe' pkgs.kdePackages.polkit-kde-agent-1 "polkit-kde-agent"; # wpctl = getExe' pkgs.wireplumber "wpctl";
wpctl = getExe' pkgs.wireplumber "wpctl"; # waypaper = getExe pkgs.waypaper;
waypaper = getExe pkgs.waypaper;
default-terminal = getExe config.programs.ghostty.package; default-terminal = getExe config.programs.ghostty.package;
wl-paste = getExe' pkgs.wl-clipboard "wl-paste"; # wl-paste = getExe' pkgs.wl-clipboard "wl-paste";
cliphist = getExe' pkgs.cliphist "cliphist"; # cliphist = getExe' pkgs.cliphist "cliphist";
cliphist-fuzzel-img = getExe' pkgs.cliphist "cliphist-fuzzel-img"; # cliphist-fuzzel-img = getExe' pkgs.cliphist "cliphist-fuzzel-img";
wl-clip-persist = getExe pkgs.wl-clip-persist; # wl-clip-persist = getExe pkgs.wl-clip-persist;
in in
( (
let let
spawn = leaf "spawn"; spawn = leaf "spawn";
in [ in [
(plain "binds" [ (plain "binds" [
(plain "Mod+V" [ # (plain "Mod+V" [
(spawn [cliphist-fuzzel-img]) # (spawn [cliphist-fuzzel-img])
]) # ])
(plain "Mod+Shift+P" [ # (plain "Mod+Shift+P" [
(spawn [ # (spawn [
swaylock # swaylock
"--screenshots" # "--screenshots"
"--clock" # "--clock"
"--indicator" # "--indicator"
"--indicator-radius" # "--indicator-radius"
"100" # "100"
"--indicator-thickness" # "--indicator-thickness"
"7" # "7"
"--effect-blur" # "--effect-blur"
"7x5" # "7x5"
"--effect-vignette" # "--effect-vignette"
"0.5:0.5" # "0.5:0.5"
"--grace" # "--grace"
"2" # "2"
"--fade-in" # "--fade-in"
"0.5" # "0.5"
]) # ])
]) # ])
(plain "Mod+Shift+Slash" [ (plain "Mod+Shift+Slash" [
(flag "show-hotkey-overlay") (flag "show-hotkey-overlay")
]) ])
@ -81,57 +78,57 @@
(plain "Mod+Shift+T" [ (plain "Mod+Shift+T" [
(flag "toggle-column-tabbed-display") (flag "toggle-column-tabbed-display")
]) ])
(plain "Mod+Space" [ # (plain "Mod+Space" [
(spawn [fuzzel]) # (spawn [fuzzel])
]) # ])
( # (
node "XF86AudioRaiseVolume" # node "XF86AudioRaiseVolume"
[{allow-when-locked = true;}] # [{allow-when-locked = true;}]
[ # [
(spawn [ # (spawn [
wpctl # wpctl
"set-volume" # "set-volume"
"@DEFAULT_AUDIO_SINK@" # "@DEFAULT_AUDIO_SINK@"
"0.1+" # "0.1+"
]) # ])
] # ]
) # )
( # (
node "XF86AudioLowerVolume" # node "XF86AudioLowerVolume"
[{allow-when-locked = true;}] # [{allow-when-locked = true;}]
[ # [
(spawn [ # (spawn [
wpctl # wpctl
"set-volume" # "set-volume"
"@DEFAULT_AUDIO_SINK@" # "@DEFAULT_AUDIO_SINK@"
"0.1-" # "0.1-"
]) # ])
] # ]
) # )
( # (
node "XF86AudioMute" # node "XF86AudioMute"
[{allow-when-locked = true;}] # [{allow-when-locked = true;}]
[ # [
(spawn [ # (spawn [
wpctl # wpctl
"set-volume" # "set-volume"
"@DEFAULT_AUDIO_SINK@" # "@DEFAULT_AUDIO_SINK@"
"toggle" # "toggle"
]) # ])
] # ]
) # )
( # (
node "XF86AudioMicMute" # node "XF86AudioMicMute"
[{allow-when-locked = true;}] # [{allow-when-locked = true;}]
[ # [
(spawn [ # (spawn [
wpctl # wpctl
"set-volume" # "set-volume"
"@DEFAULT_AUDIO_SOURCE@" # "@DEFAULT_AUDIO_SOURCE@"
"toggle" # "toggle"
]) # ])
] # ]
) # )
(plain "Mod+Q" [ (plain "Mod+Q" [
(flag "close-window") (flag "close-window")
]) ])
@ -480,36 +477,37 @@
]) ])
] # binds ] # binds
) )
++ ( ++
let # let
spawn-at-startup = leaf "spawn-at-startup"; # spawn-at-startup = leaf "spawn-at-startup";
in [ # in
[
(leaf "screenshot-path" ["${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png"]) (leaf "screenshot-path" ["${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png"])
(plain "hotkey-overlay" [ (plain "hotkey-overlay" [
(flag "skip-at-startup") (flag "skip-at-startup")
]) ])
(flag "prefer-no-csd") (flag "prefer-no-csd")
(spawn-at-startup [waybar]) # (spawn-at-startup [waybar])
(spawn-at-startup [swaync]) # (spawn-at-startup [swaync])
(spawn-at-startup [ # (spawn-at-startup [
waypaper # waypaper
"--restore" # "--restore"
]) # ])
(spawn-at-startup [ # (spawn-at-startup [
wl-paste # wl-paste
"--watch" # "--watch"
cliphist # cliphist
"store" # "store"
]) # ])
(spawn-at-startup [ # (spawn-at-startup [
wl-clip-persist # wl-clip-persist
"--clipboard" # "--clipboard"
"regular" # "regular"
]) # ])
(spawn-at-startup [ # (spawn-at-startup [
fcitx5 # fcitx5
"--replace" # "--replace"
]) # ])
(plain "input" [ (plain "input" [
(plain "touchpad" [ (plain "touchpad" [
(leaf "click-method" ["clickfinger"]) (leaf "click-method" ["clickfinger"])
@ -580,7 +578,6 @@
]) ])
]) ])
] # others ] # others
)
++ ( ++ (
let let
window-rule = plain "window-rule"; window-rule = plain "window-rule";
@ -683,27 +680,28 @@
]) ])
] # window-rule ] # window-rule
) )
++ ( # ++ (
let # let
layer-rule = plain "layer-rule"; # layer-rule = plain "layer-rule";
match = leaf "match"; # match = leaf "match";
in [ # in [
(layer-rule [ # (layer-rule [
(match [{namespace = "^swaync-notification-window$";}]) # (match [{namespace = "^swaync-notification-window$";}])
(match [{namespace = "^swaync-control-center$";}]) # (match [{namespace = "^swaync-control-center$";}])
(leaf "block-out-from" ["screen-capture"]) # (leaf "block-out-from" ["screen-capture"])
]) # ])
(layer-rule [ # (layer-rule [
(match [{namespace = "^launcher$";}]) # (match [{namespace = "^launcher$";}])
(plain "shadow" [ # (plain "shadow" [
(flag "on") # (flag "on")
]) # ])
(leaf "geometry-corner-radius" [10.0]) # (leaf "geometry-corner-radius" [10.0])
]) # ])
(layer-rule [ # (layer-rule [
(match [{namespace = "^mpvpaper$";}]) # (match [{namespace = "^mpvpaper$";}])
(leaf "place-within-backdrop" [true]) # (leaf "place-within-backdrop" [true])
]) # ])
] # layer-rule # ] # layer-rule
); # )
;
} }

View file

@ -22,6 +22,22 @@ in {
config = lib.mkOption { config = lib.mkOption {
type = inputs.niri-flake.lib.kdl.types.kdl-document; type = inputs.niri-flake.lib.kdl.types.kdl-document;
}; };
configHelper = lib.mkOption {
type = lib.types.anything;
default = {
validated-config-for = configuration:
pkgs.runCommand "config.kdl" {
inherit configuration;
passAsFile = ["configuration"];
buildInputs = [config.programs.niri.package];
}
#bash
''
niri validate -c $configurationPath
cp $configurationPath $out
'';
};
};
wluma.extraSettings = lib.mkOption { wluma.extraSettings = lib.mkOption {
inherit (options.david.programs.wluma.extraSettings) type; inherit (options.david.programs.wluma.extraSettings) type;
}; };
@ -45,9 +61,9 @@ in {
config = lib.mkMerge [ config = lib.mkMerge [
(lib.mkIf cfg.enable { (lib.mkIf cfg.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
swaynotificationcenter # swaynotificationcenter
wl-clipboard wl-clipboard
cliphist # cliphist
swayimg swayimg
seahorse seahorse
]; ];
@ -65,22 +81,29 @@ in {
}; };
}; };
david.programs = { david.programs = {
fuzzel.enable = true; # fuzzel.enable = true;
waybar = { # waybar = {
enable = true; # enable = true;
inherit (cfg.waybar) settings; # inherit (cfg.waybar) settings;
}; # };
wluma = { # wluma = {
enable = true; # enable = true;
inherit (cfg.wluma) extraSettings; # inherit (cfg.wluma) extraSettings;
}; # };
swaync.enable = true; # swaync.enable = true;
swaylock.enable = true; # swaylock.enable = true;
waypaper.enable = true; # waypaper.enable = true;
kanshi.enable = true; kanshi.enable = true;
noctalia.enable = true;
};
programs = {
niri = {
config =
cfg.config
++ [
(inputs.niri-flake.lib.kdl.leaf "include" [(toString config.david.programs.noctalia.niriExtraConfig)])
];
}; };
programs.niri = {
inherit (cfg) config;
}; };
}) })
(lib.mkIf (!cfg.enable) { (lib.mkIf (!cfg.enable) {

View file

@ -0,0 +1,208 @@
{
config,
lib,
inputs,
...
}: let
cfg = config.david.programs.noctalia;
inherit (inputs.niri-flake.lib.kdl) node leaf flag plain;
spawn = leaf "spawn";
noctalia = args: (spawn (["noctalia-shell" "ipc" "call"] ++ args));
layer-rule = plain "layer-rule";
match = leaf "match";
in {
options = {
david.programs.noctalia = {
enable = lib.mkEnableOption "noctalia";
niriExtraConfig = lib.mkOption {
type = inputs.niri-flake.lib.kdl.types.kdl-document;
default = [
(plain "binds" [
(plain "Mod+V" [(noctalia ["launcher" "clipboard"])])
(plain "Mod+Shift+P" [(noctalia ["lockScreen" "lock"])])
(plain "Mod+Space" [(noctalia ["launcher" "toggle"])])
(node "XF86AudioRaiseVolume" [{allow-when-locked = true;}]
[(noctalia ["volume" "increase"])])
(node "XF86AudioLowerVolume" [{allow-when-locked = true;}]
[(noctalia ["volume" "decrease"])])
(node "XF86AudioMute" [{allow-when-locked = true;}]
[(noctalia ["volume" "muteOutput"])])
(node "XF86AudioMicMute" [{allow-when-locked = true;}]
[(noctalia ["volume" "muteInput"])])
])
(layer-rule [
(match [{namespace = "^noctalia-wallpaper-.*$";}])
(leaf "place-within-backdrop" [true])
])
(layer-rule [
(match [{namespace = "^noctalia-notifications-.*$";}])
(leaf "block-out-from" ["screen-capture"])
])
];
apply = configuration: config.david.programs.niri.configHelper.validated-config-for (inputs.niri-flake.lib.kdl.serialize.nodes configuration);
};
};
};
config = lib.mkIf cfg.enable {
programs.noctalia-shell = {
enable = true;
systemd.enable = true;
settings = {
settingsVersion = 21;
appLauncher = {
enableClipboardHistory = true;
position = "center";
sortByMostUsed = true;
terminalCommand = "ghostty -e";
};
audio = {
volumeStep = 1;
volumeOverdrive = true;
cavaFrameRate = 165;
visualizerQuality = "high";
visualizerType = "mirrored";
};
bar = {
density = "comfortable";
exclusive = true;
floating = false;
outerCorners = true;
position = "right";
showCapsule = true;
widgets = {
center = [
{id = "Taskbar";}
{
id = "Workspace";
hideUnoccupied = true;
}
];
left = [
{id = "SystemMonitor";}
{
id = "MediaMini";
hideWhenIdle = false;
hideMode = "hidden";
showAlbumArt = true;
}
{
id = "AudioVisualizer";
hideWhenIdle = true;
}
];
right = [
{id = "WallpaperSelector";}
{id = "ScreenRecorder";}
{id = "Brightness";}
{id = "DarkMode";}
{id = "NotificationHistory";}
{id = "Volume";}
{
id = "Tray";
drawerEnabled = true;
favorites = [
"Fcitx"
];
}
{id = "Clock";}
];
};
};
brightness = {
brightnessStep = 1;
enableDdcSupport = true;
enforceMinimum = true;
};
colorSchemes = {
generateTemplatesForPredefined = false;
predefineScheme = "Catppuccin";
schedulingMode = "location";
useWallpaperColors = false;
darkMode = false;
};
controlCenter = {
cards = [
{
enabled = true;
id = "profile-card";
}
{
enabled = true;
id = "shortcuts-card";
}
{
enabled = true;
id = "audio-card";
}
{
enabled = true;
id = "weather-card";
}
{
enabled = true;
id = "media-sysmon-card";
}
];
position = "close_to_bar_button";
shortcuts = {
left = [{id = "Bluetooth";} {id = "WallpaperSelector";}];
right = [{id = "KeepAwake";} {id = "NightLight";}];
};
};
dock = {
enabled = false;
};
general = {
animationSpeed = 2;
avatarImage = "${config.home.homeDirectory}/.face";
compactLockScreen = false;
dimDesktop = false;
enableShadows = true;
forceBlackScreenCorners = false;
language = "zh-CN";
lockOnSuspend = true;
showScreenCorners = false;
};
location = {
firstDayOfWeek = 1;
showCalendarEvents = true;
showCalendarWeather = true;
weatherEnabled = true;
};
network = {
wifiEnabled = false;
};
notifications = {
enabled = true;
location = "bottom_right";
overlayLayer = true;
respectExpireTimeout = true;
};
osd = {
enabled = true;
location = "bottom";
overlayLayer = true;
};
setupCompleted = true;
ui = {
fontDefault = "Source Han Serif SC";
fontFixed = "Maple Mono NF CN";
panelsAttachedToBar = true;
settingsPanelAttachToBar = false;
tooltipsEnabled = true;
};
wallpaper = {
directory = "${config.home.homeDirectory}/wallpaper";
enabled = true;
panelPosition = "center";
randomEnabled = true;
randomIntervalSec = 900;
recursiveSearch = true;
transitionDuration = 1500;
transitionType = "random";
};
};
};
};
}

View file

@ -8,6 +8,7 @@
sops-nix.homeManagerModules.sops sops-nix.homeManagerModules.sops
betterfox-nix.homeModules.betterfox betterfox-nix.homeModules.betterfox
nix4nvchad.homeManagerModule nix4nvchad.homeManagerModule
noctalia.homeModules.default
]) ])
++ lib.youthlic.loadImports ./.; ++ lib.youthlic.loadImports ./.;

View file

@ -7,7 +7,7 @@
wallpapers = with lib; wallpapers = with lib;
pipe srcs [ pipe srcs [
(filterAttrs (name: _value: hasPrefix "wallpaper" name)) (filterAttrs (name: _value: hasPrefix "wallpaper" name))
(concatMapAttrsStringSep "\n" (name: value: "ln -s ${value.src} $out/${name}")) (concatMapAttrsStringSep "\n" (name: value: "cp ${value.src} $out/${name}"))
]; ];
in in
runCommandLocal "wallpapers" {} '' runCommandLocal "wallpapers" {} ''
@ -15,5 +15,5 @@ in
${wallpapers} ${wallpapers}
ln -s ${rootPath + "/assets/wallpaper/01.png"} $out/01.png cp ${rootPath + "/assets/wallpaper/01.png"} $out/01.png
'' ''