Compare commits
21 Commits
a62b187832
...
09585ce7ea
| Author | SHA1 | Date | |
|---|---|---|---|
| 09585ce7ea | |||
| 1221a3a984 | |||
| 89a2eb335e | |||
| efca1819b4 | |||
| 6b60113552 | |||
| b04faa3602 | |||
| 60dcf24b80 | |||
| 5f2eedbc53 | |||
| 9285f2f3ef | |||
| 978e7b4b62 | |||
| 4e27abcb70 | |||
| 97670b5b48 | |||
| 9a3e50be1f | |||
| 0eaf7a718f | |||
| dcece454e1 | |||
| 234b126da2 | |||
| 74c14e48b4 | |||
| 60376586a2 | |||
| 507ccca228 | |||
| 758a1dce3d | |||
| e165d31d40 |
253
flake.lock
generated
253
flake.lock
generated
@ -1,5 +1,27 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"aagl": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1779290455,
|
||||||
|
"narHash": "sha256-FsCEzxL4NotctEIiQnzvIGDcANWasc+RZ/2d6QJVD+Q=",
|
||||||
|
"owner": "ezKEa",
|
||||||
|
"repo": "aagl-gtk-on-nix",
|
||||||
|
"rev": "1e9a8def348c046a626d087998782c2ae7779434",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ezKEa",
|
||||||
|
"repo": "aagl-gtk-on-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"alejandra": {
|
"alejandra": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
@ -61,11 +83,11 @@
|
|||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760703920,
|
"lastModified": 1776754714,
|
||||||
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
"narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
"rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -136,11 +158,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764873433,
|
"lastModified": 1776136500,
|
||||||
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
"narHash": "sha256-r0gN2brVWA351zwMV0Flmlcd6SGMvYqFbvC3DfKFM8Y=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
"rev": "0f8ba203d475587f477e7ae12661bd8459e225b7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -149,6 +171,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767039857,
|
||||||
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@ -157,11 +195,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769996383,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -178,11 +216,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767609335,
|
"lastModified": 1775087534,
|
||||||
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -226,20 +264,18 @@
|
|||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.gnome.org",
|
|
||||||
"lastModified": 1767737596,
|
"lastModified": 1767737596,
|
||||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
"type": "gitlab"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"host": "gitlab.gnome.org",
|
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "gnome-49",
|
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "gitlab"
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"grub2-themes": {
|
"grub2-themes": {
|
||||||
@ -267,11 +303,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773286336,
|
"lastModified": 1779678629,
|
||||||
"narHash": "sha256-+yFtmhOHterllxWmV6YbdevTXpJdGS0mS0UmJ0k9fh0=",
|
"narHash": "sha256-gHcIFg0mm+KFsg7iZQt67kni3+qR5U3PhEC9P7vKlZ4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "7d06e0cefe6e4a1e85b2b3274dcb0b3da242a557",
|
"rev": "612bbe3b405ad5f71d7bf9edecc04b678a061652",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -293,11 +329,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773303738,
|
"lastModified": 1779622619,
|
||||||
"narHash": "sha256-qrl74wNFMTUzA8z6nSEWNjQcJI/MQEWdWu2Wn+u4Ctg=",
|
"narHash": "sha256-CoyW4Uy3DEpI252S6vTV6/UeQ+6wsIHvi94ggC1Ev/E=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "329df7671b7859abd1cbca5d5af296ed6dc22b46",
|
"rev": "f9e8b871f11137d4b9e15296ea134522dc7a7cb4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -326,11 +362,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773130184,
|
"lastModified": 1779374863,
|
||||||
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
|
"narHash": "sha256-qKWgJ2MUODpg+b8tOwWMdMKREvs8TdGBz63SHaQZCeA=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
|
"rev": "4294948cf1c70c50e938383c2c865d7ca455ac7e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -341,11 +377,11 @@
|
|||||||
},
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768656715,
|
"lastModified": 1777402031,
|
||||||
"narHash": "sha256-Sbh037scxKFm7xL0ahgSCw+X2/5ZKeOwI2clqrYr9j4=",
|
"narHash": "sha256-6gkfl9y3+ti0Z6dgby8/R4/DRT8sWU0I0TLCIxwWtjk=",
|
||||||
"owner": "gmodena",
|
"owner": "gmodena",
|
||||||
"repo": "nix-flatpak",
|
"repo": "nix-flatpak",
|
||||||
"rev": "123fe29340a5b8671367055b75a6e7c320d6f89a",
|
"rev": "22a3adbe7c5c8c8a10a635d32c9ef7fc01a6e4b8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -354,13 +390,33 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-index-database": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1779604987,
|
||||||
|
"narHash": "sha256-ZQ5z+fVhxYKtIFwtqGp5O0PD84BM1riASvqDaN5Xs+s=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"rev": "8fba98c80b48fa013820e0163c5096922fea4ddd",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772972630,
|
"lastModified": 1779258371,
|
||||||
"narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=",
|
"narHash": "sha256-j1iZsLy6oFApqR1oiDmHhvkwxXqcNi0aoSJj643LuwU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72",
|
"rev": "c97bc4d15bd3473dd095e8e8ba57330ab1943a77",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -371,11 +427,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773304180,
|
"lastModified": 1779700212,
|
||||||
"narHash": "sha256-e/ctVWU2EYXBOsJHU76lN6vqugD8u1Xl20MJ+A+bPuE=",
|
"narHash": "sha256-1pEdBfcjgfrSoYfP06BXC/ypGhwONP+PMO44yEb2Aqc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d5eb8dca28f5be580c26f8fcb2ec4ec4215e9102",
|
"rev": "415536cd2b4165c658dd130f53fbd316333b182b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -387,11 +443,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773068389,
|
"lastModified": 1779467186,
|
||||||
"narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=",
|
"narHash": "sha256-nOesoDCiXcUftqbRBMz9tt4blI5PvljMWbm3kuCA+0s=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "44bae273f9f82d480273bab26f5c50de3724f52f",
|
"rev": "b77b3de8775677f84492abe84635f87b0e153f0f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -403,11 +459,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773122722,
|
"lastModified": 1779508470,
|
||||||
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
|
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
|
"rev": "29916453413845e54a65b8a1cf996842300cd299",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -417,20 +473,34 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1779259093,
|
||||||
|
"narHash": "sha256-7DKWmH23hL2eYdkxCKeqj2i+yljTKuU+3Nk1UPHOnxc=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d99b013d5d1931ad77fe3912ed218170dec5d9a4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772402258,
|
"lastModified": 1779683452,
|
||||||
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
"narHash": "sha256-Ksx8jghpDBCPDiTaTyGhYUXG1BUwqPjf5pajl0q0cqA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
"rev": "afec1bae0e6f7983a5c03ec559f7ed2ec0e714a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -451,11 +521,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767810917,
|
"lastModified": 1777598946,
|
||||||
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
"narHash": "sha256-X239dAGaU1+gfDj8jKH8GzlqKMcxaVfXOio+uzBOkeE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
"rev": "5d55af01c0f86be583931fe99207fc56c14134b3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -511,11 +581,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772361940,
|
"lastModified": 1775856943,
|
||||||
"narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=",
|
"narHash": "sha256-b7Mp7P+q2Md5AGt4rjHfMcBykzMumFTen10ST++AuTU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "a4b33606111c9c5dcd10009042bb710307174f51",
|
"rev": "a524a6160e6df89f7673ba293cf7d78b559eb1a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -531,11 +601,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773291133,
|
"lastModified": 1779430452,
|
||||||
"narHash": "sha256-9Odn+7x5l90HnXRY7MwVYcX+8CYAo+ldJ+GOVs7e2T8=",
|
"narHash": "sha256-zTslhsxLqUlRTML506iougTGzyR38Fzhzn7t4KDEuuE=",
|
||||||
"owner": "outfoxxed",
|
"owner": "outfoxxed",
|
||||||
"repo": "quickshell",
|
"repo": "quickshell",
|
||||||
"rev": "9a9c60525014bcdf83aace03db4b53c19168edcc",
|
"rev": "4b4fca3224ab977dc515ac0bb78d00b3dfa71e00",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -546,12 +616,14 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"aagl": "aagl",
|
||||||
"alejandra": "alejandra",
|
"alejandra": "alejandra",
|
||||||
"cookiez-assets": "cookiez-assets",
|
"cookiez-assets": "cookiez-assets",
|
||||||
"grub2-themes": "grub2-themes",
|
"grub2-themes": "grub2-themes",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
|
"nix-index-database": "nix-index-database",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
@ -578,6 +650,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"aagl",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777605393,
|
||||||
|
"narHash": "sha256-Hjp0VOOHgHcTrX23iVvnfAudPcuCmfkfpQNFwv2v/ks=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "ff88db34cfa486fc4964a6991cab1678d82eee8c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"stylix": {
|
"stylix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
@ -592,18 +685,17 @@
|
|||||||
],
|
],
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_2",
|
"systems": "systems_2",
|
||||||
"tinted-foot": "tinted-foot",
|
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
"tinted-tmux": "tinted-tmux",
|
"tinted-tmux": "tinted-tmux",
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772296853,
|
"lastModified": 1779378391,
|
||||||
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
|
"narHash": "sha256-IsDb9erotvx9npI94UDosvMeYQK17p7/vmU2v9batrY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
|
"rev": "c1456cc4ba3c9485e7b4158c909eeca5a752cd59",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -643,23 +735,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tinted-foot": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726913040,
|
|
||||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -679,11 +754,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767710407,
|
"lastModified": 1777041405,
|
||||||
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
"narHash": "sha256-BAGZ7ObFV/9Z61OJZun7ifPyhkuHqNuW1QIhQ8LuzCo=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
"rev": "5f868b3a338b6904c47f3833b9c411be641983a8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -695,11 +770,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767489635,
|
"lastModified": 1777169200,
|
||||||
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
"narHash": "sha256-h7dDbIzP5hDr9v97w9PL6jdAgXawmj6krcH+959rqpU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
"rev": "f798c2dce44ef815bb6b8f05a82135c7942d35ac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -711,11 +786,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767488740,
|
"lastModified": 1777463218,
|
||||||
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
"narHash": "sha256-Bhkozqtq3BKLqWTlmKm8uAptfX4aRGI8QX3eEL54Vpc=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
"rev": "5768d08ed2e7944a26a958868cdb073cb8856dae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -744,11 +819,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772429643,
|
"lastModified": 1779591853,
|
||||||
"narHash": "sha256-M+bAeCCcjBnVk6w/4dIVvXvpJwOKnXjwi/lDbaN6Yws=",
|
"narHash": "sha256-osTG6d7BfV5CchHjETh3jcmZwDYrHpNcpAIyh1KyIs0=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "10f985b84cdbcc3bbf35b3e7e43d1b2a84fa9ce2",
|
"rev": "3273a0fccd71da21c6362c74f3b1d1c0a89ff3ba",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
27
flake.nix
27
flake.nix
@ -4,10 +4,22 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
nix-index-database = {
|
||||||
|
url = "github:nix-community/nix-index-database";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
aagl = {
|
||||||
|
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules
|
nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager = {
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:nix-community/home-manager/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
url = "github:nix-community/plasma-manager";
|
url = "github:nix-community/plasma-manager";
|
||||||
@ -15,9 +27,10 @@
|
|||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
#stylix.url = "github:nix-community/stylix/";
|
stylix = {
|
||||||
stylix.url = "github:nix-community/stylix/master"; #Had to use branch or it would not build corrently
|
url = "github:nix-community/stylix/master"; #Had to use branch or it would not build corrently
|
||||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
quickshell = {
|
quickshell = {
|
||||||
url = "github:outfoxxed/quickshell";
|
url = "github:outfoxxed/quickshell";
|
||||||
@ -31,7 +44,7 @@
|
|||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
#Do not use follows here as it will throw warnings with nixvim's built-in source
|
||||||
};
|
};
|
||||||
|
|
||||||
alejandra = {
|
alejandra = {
|
||||||
@ -62,10 +75,12 @@
|
|||||||
home-manager,
|
home-manager,
|
||||||
plasma-manager,
|
plasma-manager,
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
|
aagl,
|
||||||
stylix,
|
stylix,
|
||||||
niri,
|
niri,
|
||||||
grub2-themes,
|
grub2-themes,
|
||||||
nix-flatpak,
|
nix-flatpak,
|
||||||
|
nix-index-database,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
username = "cookiez";
|
username = "cookiez";
|
||||||
|
|||||||
@ -14,19 +14,27 @@
|
|||||||
version,
|
version,
|
||||||
system,
|
system,
|
||||||
pam-fprint-grosshack-pkg,
|
pam-fprint-grosshack-pkg,
|
||||||
cookiez-assets,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
#Assign Swap to the PC
|
#Assign Swap to the PC
|
||||||
#swapDevices = [{
|
swapDevices = [
|
||||||
# device = "/swapfile";
|
{
|
||||||
# size = 16 * 1024; # 16GB
|
device = "/swapfile";
|
||||||
#}];
|
size = 34 * 1024; # 34GB
|
||||||
|
#randomEncryption.enable = true; #Doesnt work with hybernation
|
||||||
|
}
|
||||||
|
];
|
||||||
|
nix = {
|
||||||
|
settings.nix-path = config.nix.nixPath;
|
||||||
|
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
inputs.nix-index-database.nixosModules.nix-index
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.grub2-themes.nixosModules.default
|
inputs.grub2-themes.nixosModules.default
|
||||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
|
inputs.aagl.nixosModules.default
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
./firefox
|
./firefox
|
||||||
@ -38,8 +46,10 @@
|
|||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
kernelParams = ["quiet" "splash"];
|
kernelParams = ["quiet" "splash"];
|
||||||
initrd = {
|
initrd = {
|
||||||
|
systemd.enable = true; #For swap to automatically work
|
||||||
verbose = false;
|
verbose = false;
|
||||||
kernelModules = ["amdgpu"];
|
kernelModules = ["amdgpu"];
|
||||||
};
|
};
|
||||||
@ -100,7 +110,7 @@
|
|||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.${username} = ./home.nix;
|
users.${username} = ./home.nix;
|
||||||
backupFileExtension = "backup"; # Automatically backs up conflicting files during activation
|
backupFileExtension = "backup"; # Automatically backs up conflicting files during activation
|
||||||
extraSpecialArgs = {inherit inputs username project version system host cookiez-assets;};
|
extraSpecialArgs = {inherit inputs username project version system host;};
|
||||||
sharedModules = [inputs.plasma-manager.homeModules.plasma-manager];
|
sharedModules = [inputs.plasma-manager.homeModules.plasma-manager];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -124,22 +134,6 @@
|
|||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
services = {
|
services = {
|
||||||
ollama = {
|
|
||||||
enable = false;
|
|
||||||
# Optional: load models on startup
|
|
||||||
#loadModels = [ ... ];
|
|
||||||
};
|
|
||||||
|
|
||||||
open-webui = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.open-webui;
|
|
||||||
#environment = {
|
|
||||||
# DATA_DIR = "/var/lib/open-webui"; # System-wide writable dir
|
|
||||||
# OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
|
||||||
#};
|
|
||||||
#openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fprintd.enable = true;
|
fprintd.enable = true;
|
||||||
fprintd.tod.enable = true;
|
fprintd.tod.enable = true;
|
||||||
fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
|
fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
|
||||||
@ -198,6 +192,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
|
fontDir.enable = true;
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
font-awesome
|
font-awesome
|
||||||
nerd-fonts.jetbrains-mono
|
nerd-fonts.jetbrains-mono
|
||||||
@ -222,10 +218,42 @@
|
|||||||
programs = {
|
programs = {
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
|
|
||||||
|
gamemode.enable = true;
|
||||||
|
|
||||||
|
gamescope.enable = true;
|
||||||
|
|
||||||
|
nix-index-database.comma.enable = true;
|
||||||
|
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
silent = true; # Suppresses direnv's output in the terminal
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
ssh.askPassword = lib.mkForce "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass";
|
ssh.askPassword = lib.mkForce "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass";
|
||||||
|
|
||||||
|
sleepy-launcher.enable = true; #Zenless zone zero launcher
|
||||||
|
|
||||||
#In order for dynamically linked executables to work
|
#In order for dynamically linked executables to work
|
||||||
nix-ld.enable = true;
|
nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
#To ensure that the neccesary libraries are included in the wrapper
|
||||||
|
libraries = with pkgs; [
|
||||||
|
wayland
|
||||||
|
libadwaita
|
||||||
|
gtk4
|
||||||
|
gtk3
|
||||||
|
glib
|
||||||
|
gdk-pixbuf
|
||||||
|
pango
|
||||||
|
cairo
|
||||||
|
libGL
|
||||||
|
openssl
|
||||||
|
dbus
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure console keymap
|
# Configure console keymap
|
||||||
@ -276,7 +304,7 @@
|
|||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Cookiez";
|
description = "Cookiez";
|
||||||
extraGroups = ["networkmanager" "wheel" "docker"];
|
extraGroups = ["networkmanager" "wheel" "docker" "gamemode"];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
#User Packages Here
|
#User Packages Here
|
||||||
];
|
];
|
||||||
@ -290,7 +318,7 @@
|
|||||||
# dockerCompat = true;
|
# dockerCompat = true;
|
||||||
#};
|
#};
|
||||||
|
|
||||||
waydroid.enable = true;
|
waydroid.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
@ -341,7 +369,16 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
#Allow Nix Commands
|
#Allow Nix Commands
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
nix.settings = {
|
||||||
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
|
max-substitution-jobs = 32;
|
||||||
|
http-connections = 50;
|
||||||
|
|
||||||
|
#Both needed for sleepy-launcher to work
|
||||||
|
extra-substituters = ["https://ezkea.cachix.org" "https://nix-community.cachix.org"];
|
||||||
|
extra-trusted-public-keys = ["ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="];
|
||||||
|
};
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs,
|
||||||
username,
|
username,
|
||||||
project,
|
project,
|
||||||
cookiez-assets,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
xdg = {
|
xdg = {
|
||||||
@ -20,11 +20,13 @@
|
|||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dataFile."icons/hicolor/256x256/apps/vencord-custom.png".source = "${inputs.cookiez-assets}/apps/discord.png";
|
||||||
|
|
||||||
desktopEntries."discord" = {
|
desktopEntries."discord" = {
|
||||||
categories = ["Network" "InstantMessaging" "Chat"];
|
categories = ["Network" "InstantMessaging" "Chat"];
|
||||||
exec = "vesktop %U";
|
exec = "vesktop %U";
|
||||||
genericName = "Internet Messenger";
|
genericName = "Internet Messenger";
|
||||||
icon = "${cookiez-assets}/apps/discord.png";
|
icon = "vencord-custom";
|
||||||
name = "Discord";
|
name = "Discord";
|
||||||
type = "Application";
|
type = "Application";
|
||||||
};
|
};
|
||||||
@ -38,6 +40,8 @@
|
|||||||
type = "Application";
|
type = "Application";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dataFile."icons/hicolor/256x256/apps/kitty-custom.png".source = "${inputs.cookiez-assets}/apps/kitty.png";
|
||||||
|
|
||||||
desktopEntries.kitty = {
|
desktopEntries.kitty = {
|
||||||
name = "kitty";
|
name = "kitty";
|
||||||
genericName = "Terminal emulator";
|
genericName = "Terminal emulator";
|
||||||
@ -46,7 +50,8 @@
|
|||||||
terminal = false;
|
terminal = false;
|
||||||
categories = ["System" "TerminalEmulator"];
|
categories = ["System" "TerminalEmulator"];
|
||||||
|
|
||||||
icon = "${cookiez-assets}/apps/kitty.png";
|
#icon = "${inputs.cookiez-assets}/apps/kitty.png";
|
||||||
|
icon = "kitty-custom";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopEntries."org.kde.kinfocenter" = {
|
desktopEntries."org.kde.kinfocenter" = {
|
||||||
@ -59,11 +64,6 @@
|
|||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopEntries."org.kde.kmenuedit" = {
|
|
||||||
name = "Menu Editor";
|
|
||||||
noDisplay = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktopEntries."micro" = {
|
desktopEntries."micro" = {
|
||||||
name = "Micro";
|
name = "Micro";
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
@ -107,10 +107,5 @@
|
|||||||
name = "KWrite";
|
name = "KWrite";
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopEntries."org.kde.discover" = {
|
|
||||||
name = "Discover";
|
|
||||||
noDisplay = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
profiles = {
|
profiles = {
|
||||||
"${username}" = {
|
"${username}" = {
|
||||||
|
isDefault = true;
|
||||||
extensions.force = true;
|
extensions.force = true;
|
||||||
|
|
||||||
#Create multiple containers, like "work" "social media" ..., for cookies to reside in so they dont cross leak
|
#Create multiple containers, like "work" "social media" ..., for cookies to reside in so they dont cross leak
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
".config/gtk-4.0/settings.ini.backup"
|
".config/gtk-4.0/settings.ini.backup"
|
||||||
".config/niri/config.kdl"
|
".config/niri/config.kdl"
|
||||||
];
|
];
|
||||||
|
devTemplate = ../other/dev-template.nix;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -55,6 +56,12 @@
|
|||||||
#];
|
#];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
kitty = {
|
kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
inputs,
|
inputs,
|
||||||
username,
|
username,
|
||||||
project,
|
project,
|
||||||
cookiez-assets,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
@ -14,18 +13,12 @@
|
|||||||
enable = false;
|
enable = false;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
preload = [
|
|
||||||
#"/home/${username}/${project}/other/wallpaper1.png"
|
|
||||||
#"/home/${username}/${project}/other/wallpaper2.png"
|
|
||||||
#"/home/${username}/${project}/other/wallpaper3.png"
|
|
||||||
"${cookiez-assets}/wallpapers/pixel-desert.png"
|
|
||||||
];
|
|
||||||
|
|
||||||
wallpaper = [
|
wallpaper = [
|
||||||
#"eDP-1,/home/${username}/${project}/other/wallpaper1.png"
|
{
|
||||||
#"eDP-1,/home/${username}/${project}/other/wallpaper2.png"
|
monitor = "eDP-1";
|
||||||
#"eDP-1,/home/${username}/${project}/other/wallpaper3.png"
|
path = "${inputs.cookiez-assets}/wallpapers/pixel-desert.png";
|
||||||
"eDP-1,${cookiez-assets}/wallpapers/pixel-desert.png"
|
fit_mode = "cover"; # optional, defaults to cover
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
433
modules/ncli.nix
433
modules/ncli.nix
@ -15,7 +15,7 @@ in
|
|||||||
PROJECT="${project}"
|
PROJECT="${project}"
|
||||||
HOST="${host}"
|
HOST="${host}"
|
||||||
BACKUP_FILES_STR="${backupFilesString}"
|
BACKUP_FILES_STR="${backupFilesString}"
|
||||||
VERSION="2.0.0"
|
VERSION="2.1.3"
|
||||||
FLAKE_NIX_PATH="$HOME/$PROJECT/flake.nix"
|
FLAKE_NIX_PATH="$HOME/$PROJECT/flake.nix"
|
||||||
|
|
||||||
read -r -a BACKUP_FILES <<< "$BACKUP_FILES_STR"
|
read -r -a BACKUP_FILES <<< "$BACKUP_FILES_STR"
|
||||||
@ -45,6 +45,11 @@ in
|
|||||||
echo " pull - Pull latest changes from origin."
|
echo " pull - Pull latest changes from origin."
|
||||||
echo " status - Show git status."
|
echo " status - Show git status."
|
||||||
echo ""
|
echo ""
|
||||||
|
echo "Development Commands:"
|
||||||
|
echo " dev - Initialize a Nix development environment (flake.nix + direnv)."
|
||||||
|
echo " dev track - Remove assume-unchanged flag from flake files."
|
||||||
|
echo " dev untrack - Mark flake files as assume-unchanged in a directory."
|
||||||
|
echo ""
|
||||||
echo " help - Show this help message."
|
echo " help - Show this help message."
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
@ -65,7 +70,53 @@ in
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# --- Main Logic ---
|
# --- Dev Init Helper Functions ---
|
||||||
|
print_header() {
|
||||||
|
echo ""
|
||||||
|
echo -e "''${BLUE}==============================================''${NOCOLOR}"
|
||||||
|
echo -e "''${BLUE} Nix Flake Development Environment Initializer''${NOCOLOR}"
|
||||||
|
echo -e "''${BLUE}==============================================''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
print_success() {
|
||||||
|
echo -e "''${GREEN}[OK]''${NOCOLOR} $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
print_error() {
|
||||||
|
echo -e "''${RED}[ERR]''${NOCOLOR} $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
print_info() {
|
||||||
|
echo -e "''${YELLOW}[->]''${NOCOLOR} $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_build_error() {
|
||||||
|
local exit_code=$?
|
||||||
|
# Exit code 137 = 128+9 = SIGKILL, almost always OOM killer
|
||||||
|
if [ "$exit_code" -eq 137 ]; then
|
||||||
|
echo ""
|
||||||
|
echo -e "''${RED}╔══════════════════════════════════════════════════════════╗''${NOCOLOR}"
|
||||||
|
echo -e "''${RED}║ BUILD KILLED — Signal 9 (SIGKILL) detected ║''${NOCOLOR}"
|
||||||
|
echo -e "''${RED}╚══════════════════════════════════════════════════════════╝''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
echo -e "''${YELLOW}What happened:''${NOCOLOR}"
|
||||||
|
echo " The build process was forcefully terminated by the OS."
|
||||||
|
echo " This is almost always the Linux kernel OOM killer running out"
|
||||||
|
echo " of RAM + swap during Nix evaluation or compilation."
|
||||||
|
echo ""
|
||||||
|
echo -e "''${YELLOW}Suggested fixes (try in order):''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
echo -e " ''${GREEN}1. Reduce parallel jobs''${NOCOLOR} (lowest RAM usage):"
|
||||||
|
echo " sudo nixos-rebuild switch --flake . --max-jobs 1 --cores 1"
|
||||||
|
echo ""
|
||||||
|
echo -e " ''${GREEN}2. Confirm OOM killer fired:''${NOCOLOR}"
|
||||||
|
echo " journalctl -k --since '5 minutes ago' | grep -i oom"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Main Logic ---
|
||||||
if [ "$#" -eq 0 ]; then
|
if [ "$#" -eq 0 ]; then
|
||||||
echo "Error: No command provided." >&2
|
echo "Error: No command provided." >&2
|
||||||
print_help
|
print_help
|
||||||
@ -138,7 +189,8 @@ in
|
|||||||
current=$(cat /etc/nixos-tags)
|
current=$(cat /etc/nixos-tags)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if sudo nixos-rebuild switch --flake .; then
|
sudo nixos-rebuild switch --flake . ; _rebuild_exit=$?
|
||||||
|
if [ "$_rebuild_exit" -eq 0 ]; then
|
||||||
echo "✓ Rebuild finished successfully for $HOST"
|
echo "✓ Rebuild finished successfully for $HOST"
|
||||||
|
|
||||||
if [ -n "$current" ]; then
|
if [ -n "$current" ]; then
|
||||||
@ -151,6 +203,7 @@ in
|
|||||||
echo -e "Running on new generation: $YELLOW $geno $NOCOLOR-> $GREEN$genn$NOCOLOR"
|
echo -e "Running on new generation: $YELLOW $geno $NOCOLOR-> $GREEN$genn$NOCOLOR"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
( exit "$_rebuild_exit" ); handle_build_error
|
||||||
echo "✗ Rebuild failed for $HOST" >&2
|
echo "✗ Rebuild failed for $HOST" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -232,7 +285,8 @@ in
|
|||||||
echo "Rebuilding system... Staying on current specialization"
|
echo "Rebuilding system... Staying on current specialization"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if sudo nixos-rebuild switch --flake .; then
|
sudo nixos-rebuild switch --flake . ; _rebuild_exit=$?
|
||||||
|
if [ "$_rebuild_exit" -eq 0 ]; then
|
||||||
echo "✓ Update and rebuild finished successfully for $HOST"
|
echo "✓ Update and rebuild finished successfully for $HOST"
|
||||||
|
|
||||||
if [ -n "$current" ]; then
|
if [ -n "$current" ]; then
|
||||||
@ -245,6 +299,7 @@ in
|
|||||||
echo -e "Running on new generation: $YELLOW $geno $NOCOLOR-> $GREEN$genn$NOCOLOR"
|
echo -e "Running on new generation: $YELLOW $geno $NOCOLOR-> $GREEN$genn$NOCOLOR"
|
||||||
|
|
||||||
else
|
else
|
||||||
|
( exit "$_rebuild_exit" ); handle_build_error
|
||||||
echo "✗ Update and rebuild failed for $HOST" >&2
|
echo "✗ Update and rebuild failed for $HOST" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -327,6 +382,376 @@ in
|
|||||||
echo "Trim operation cancelled."
|
echo "Trim operation cancelled."
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
dev)
|
||||||
|
# Only flake files need assume-unchanged (Nix requires them in the index).
|
||||||
|
# .envrc and .direnv are handled via .git/info/exclude instead.
|
||||||
|
DEV_FILES=(flake.nix flake.lock)
|
||||||
|
DIRENV_LOCAL_FILES=(.envrc .direnv)
|
||||||
|
|
||||||
|
_dev_resolve_dir() {
|
||||||
|
read -rp " Enter target directory [./]: " TARGET_DIR
|
||||||
|
TARGET_DIR="''${TARGET_DIR:-./}"
|
||||||
|
if [[ ! -d "$TARGET_DIR" ]]; then
|
||||||
|
print_error "Directory '$TARGET_DIR' does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
TARGET_ABS="$(cd "$TARGET_DIR" && pwd)"
|
||||||
|
if ! git -C "$TARGET_ABS" rev-parse --git-dir > /dev/null 2>&1; then
|
||||||
|
print_error "No Git repository found at '$TARGET_ABS'."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add .envrc and .direnv to .git/info/exclude (local-only, never committed).
|
||||||
|
_add_local_excludes() {
|
||||||
|
local repo_abs="$1"
|
||||||
|
local git_dir exclude_file
|
||||||
|
git_dir="$(git -C "$repo_abs" rev-parse --git-dir)"
|
||||||
|
exclude_file="$git_dir/info/exclude"
|
||||||
|
mkdir -p "$(dirname "$exclude_file")"
|
||||||
|
touch "$exclude_file"
|
||||||
|
|
||||||
|
for entry in "''${DIRENV_LOCAL_FILES[@]}"; do
|
||||||
|
if ! grep -qxF "$entry" "$exclude_file" 2>/dev/null; then
|
||||||
|
echo "$entry" >> "$exclude_file"
|
||||||
|
print_success "$entry → ignored via .git/info/exclude (local only)"
|
||||||
|
else
|
||||||
|
print_info "$entry already in .git/info/exclude, skipping."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
_remove_local_excludes() {
|
||||||
|
local repo_abs="$1"
|
||||||
|
local git_dir exclude_file tmp_file
|
||||||
|
git_dir="$(git -C "$repo_abs" rev-parse --git-dir)"
|
||||||
|
exclude_file="$git_dir/info/exclude"
|
||||||
|
|
||||||
|
[[ -f "$exclude_file" ]] || return 0
|
||||||
|
|
||||||
|
tmp_file="$(mktemp)"
|
||||||
|
cp "$exclude_file" "$tmp_file"
|
||||||
|
|
||||||
|
for entry in "''${DIRENV_LOCAL_FILES[@]}"; do
|
||||||
|
if grep -qxF "$entry" "$tmp_file" 2>/dev/null; then
|
||||||
|
grep -vxF "$entry" "$tmp_file" > "''${tmp_file}.new" || true
|
||||||
|
mv "''${tmp_file}.new" "$tmp_file"
|
||||||
|
print_success "$entry → removed from .git/info/exclude"
|
||||||
|
else
|
||||||
|
print_info "$entry not present in .git/info/exclude, skipping."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
mv "$tmp_file" "$exclude_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "''${2:-init}" in
|
||||||
|
|
||||||
|
untrack)
|
||||||
|
echo ""
|
||||||
|
echo -e "''${BLUE}--- Dev: Track Files (assume-unchanged) ---''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
_dev_resolve_dir
|
||||||
|
|
||||||
|
acted=false
|
||||||
|
for f in "''${DEV_FILES[@]}"; do
|
||||||
|
full="$TARGET_ABS/$f"
|
||||||
|
if [[ ! -f "$full" ]]; then
|
||||||
|
print_info "$f not found in $TARGET_ABS — skipping."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if ! git -C "$TARGET_ABS" ls-files --error-unmatch "$f" > /dev/null 2>&1; then
|
||||||
|
git -C "$TARGET_ABS" add --intent-to-add "$f"
|
||||||
|
fi
|
||||||
|
git -C "$TARGET_ABS" update-index --assume-unchanged "$f"
|
||||||
|
print_success "$f → untracked (assume-unchanged)"
|
||||||
|
acted=true
|
||||||
|
done
|
||||||
|
|
||||||
|
_add_local_excludes "$TARGET_ABS"
|
||||||
|
|
||||||
|
if ! $acted; then
|
||||||
|
print_info "No dev files found in '$TARGET_ABS' to track."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
track)
|
||||||
|
echo ""
|
||||||
|
echo -e "''${BLUE}--- Dev: Untrack Files (remove assume-unchanged) ---''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
_dev_resolve_dir
|
||||||
|
|
||||||
|
acted=false
|
||||||
|
for f in "''${DEV_FILES[@]}"; do
|
||||||
|
if git -C "$TARGET_ABS" ls-files -v "$f" 2>/dev/null | grep -q "^h "; then
|
||||||
|
git -C "$TARGET_ABS" update-index --no-assume-unchanged "$f"
|
||||||
|
print_success "$f → tracked (assume-unchanged removed)"
|
||||||
|
acted=true
|
||||||
|
else
|
||||||
|
print_info "$f is not marked assume-unchanged — skipping."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
_remove_local_excludes "$TARGET_ABS"
|
||||||
|
|
||||||
|
if ! $acted; then
|
||||||
|
print_info "No files in '$TARGET_ABS' had the assume-unchanged bit set."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
init|*)
|
||||||
|
# ---- Defaults -----
|
||||||
|
SOURCE_FLAKE="$HOME/$PROJECT/other/dev-template.nix"
|
||||||
|
|
||||||
|
# ---- Check source flake exists ------------------------------
|
||||||
|
if [[ ! -f "$SOURCE_FLAKE" ]]; then
|
||||||
|
print_error "Source flake template not found: $SOURCE_FLAKE"
|
||||||
|
echo "Please ensure dev-template.nix exists in $HOME/$PROJECT/other/"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_header
|
||||||
|
|
||||||
|
# ---- Step 1: Target Directory -----------------------------------
|
||||||
|
echo -e "''${YELLOW}Step 1/5: Target Directory''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
read -p " Enter target directory [./]: " TARGET_DIR
|
||||||
|
|
||||||
|
if [[ -z "$TARGET_DIR" ]]; then
|
||||||
|
TARGET_DIR="./"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "$TARGET_DIR" ]]; then
|
||||||
|
print_error "Directory '$TARGET_DIR' does not exist. Exiting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_success "Target directory: $TARGET_DIR"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# ---- Check for existing flake ----------------------------------
|
||||||
|
if [[ -f "$TARGET_DIR/flake.nix" ]]; then
|
||||||
|
echo ""
|
||||||
|
print_error "A flake.nix already exists in '$TARGET_DIR'!"
|
||||||
|
echo ""
|
||||||
|
read -p " Would you like to just place the .envrc instead? [y/N]: " ENVRC_ONLY
|
||||||
|
ENVRC_ONLY="''${ENVRC_ONLY:-N}"
|
||||||
|
|
||||||
|
if [[ "$ENVRC_ONLY" =~ ^[Yy]$ ]]; then
|
||||||
|
TARGET_ABS="$(cd "$TARGET_DIR" && pwd)"
|
||||||
|
echo ""
|
||||||
|
print_info "Placing .envrc only..."
|
||||||
|
if ! grep -qxF "use flake" "$TARGET_ABS/.envrc" 2>/dev/null; then
|
||||||
|
echo "use flake" >> "$TARGET_ABS/.envrc"
|
||||||
|
print_success ".envrc created at $TARGET_ABS/"
|
||||||
|
else
|
||||||
|
print_info ".envrc already contains 'use flake', nothing to do."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
print_info "Next steps:"
|
||||||
|
echo " cd $TARGET_DIR"
|
||||||
|
echo " direnv allow"
|
||||||
|
echo ""
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
print_info "Aborting. No files were changed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ---- Step 2: Project Name ---------------------------------------
|
||||||
|
echo -e "''${YELLOW}Step 2/5: Project Name''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
read -p " Enter development environment name [devShell]: " PROJECT_NAME
|
||||||
|
|
||||||
|
if [[ -z "$PROJECT_NAME" ]]; then
|
||||||
|
PROJECT_NAME="devShell"
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_success "Project name: $PROJECT_NAME"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# ---- Step 3: Select template ----------------------------------------
|
||||||
|
echo -e "''${YELLOW}Step 3/5: Select Template''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
echo " 1) Empty - Basic shell, add packages yourself"
|
||||||
|
echo " 2) Python - Python 3, pip, venv setup"
|
||||||
|
echo " 3) Node.js - Node.js, npm"
|
||||||
|
echo " 4) Rust - Rustc, cargo, rust-analyzer"
|
||||||
|
echo " 5) Go - Go, gopls, golangci-lint"
|
||||||
|
echo " 6) C/C++ - GCC, CMake, GDB, pkg-config"
|
||||||
|
echo " 7) Java - JDK 21, Maven"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
read -p " Select template [1-7] (default: 1): " TEMPLATE_CHOICE
|
||||||
|
|
||||||
|
case "$TEMPLATE_CHOICE" in
|
||||||
|
2)
|
||||||
|
TEMPLATE="python3"
|
||||||
|
PACKAGES="python3 python3Packages.pip python3Packages.virtualenv"
|
||||||
|
BUILD_INPUTS=""
|
||||||
|
SHELL_HOOK_EXTRA="
|
||||||
|
# Create venv if it doesn't exist
|
||||||
|
if [ ! -d .venv ]; then
|
||||||
|
echo 'Creating Python virtual environment...'
|
||||||
|
python3 -m venv .venv
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Activate venv
|
||||||
|
source .venv/bin/activate
|
||||||
|
|
||||||
|
echo 'Python venv activated.'
|
||||||
|
"
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
TEMPLATE="node"
|
||||||
|
PACKAGES="nodejs_22"
|
||||||
|
BUILD_INPUTS=""
|
||||||
|
SHELL_HOOK_EXTRA='echo "Node.js $(node --version) ready."'
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
TEMPLATE="rust"
|
||||||
|
PACKAGES="rustc cargo rust-analyzer"
|
||||||
|
BUILD_INPUTS="openssl pkg-config"
|
||||||
|
SHELL_HOOK_EXTRA='echo "Rust $(rustc --version) ready."'
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
TEMPLATE="go"
|
||||||
|
PACKAGES="go gopls golangci-lint"
|
||||||
|
BUILD_INPUTS=""
|
||||||
|
SHELL_HOOK_EXTRA='
|
||||||
|
export GOPATH="$PWD/.gopath"
|
||||||
|
export PATH="$GOPATH/bin:$PATH"
|
||||||
|
mkdir -p "$GOPATH"
|
||||||
|
echo "Go $(go version) ready. GOPATH: $GOPATH"
|
||||||
|
'
|
||||||
|
;;
|
||||||
|
6)
|
||||||
|
TEMPLATE="cpp"
|
||||||
|
PACKAGES="gcc gdb cmake gnumake"
|
||||||
|
BUILD_INPUTS="pkg-config"
|
||||||
|
SHELL_HOOK_EXTRA='echo "GCC $(gcc --version | head -1) ready."'
|
||||||
|
;;
|
||||||
|
7)
|
||||||
|
TEMPLATE="java"
|
||||||
|
PACKAGES="jdk21 maven"
|
||||||
|
BUILD_INPUTS=""
|
||||||
|
SHELL_HOOK_EXTRA='echo "Java $(java --version | head -1) ready."'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
TEMPLATE="empty"
|
||||||
|
PACKAGES=""
|
||||||
|
BUILD_INPUTS=""
|
||||||
|
SHELL_HOOK_EXTRA=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
print_success "Selected template: $TEMPLATE"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# ---- Step 4: Copy and modify flake ----------------------------------
|
||||||
|
echo -e "''${YELLOW}Step 4/5: Generating flake.nix''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
cp "$SOURCE_FLAKE" "$TARGET_DIR/flake.nix"
|
||||||
|
print_success "Copied flake.nix to $TARGET_DIR/"
|
||||||
|
|
||||||
|
sed -i "s|name = \"replaceNameHere\";|name = \"''${PROJECT_NAME}\";|" "$TARGET_DIR/flake.nix"
|
||||||
|
print_success "Set project name: $PROJECT_NAME"
|
||||||
|
|
||||||
|
if [[ -n "$PACKAGES" ]]; then
|
||||||
|
sed -i "s|# replacePackagesHere|$PACKAGES|" "$TARGET_DIR/flake.nix"
|
||||||
|
print_success "Added packages: $PACKAGES"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$BUILD_INPUTS" ]]; then
|
||||||
|
BUILD_INPUTS_LINE="buildInputs = with pkgs; [ $BUILD_INPUTS ];"
|
||||||
|
sed -i "s|# replaceBuildInputsHere|$BUILD_INPUTS_LINE|" "$TARGET_DIR/flake.nix"
|
||||||
|
print_success "Added build inputs: $BUILD_INPUTS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$SHELL_HOOK_EXTRA" ]]; then
|
||||||
|
awk -v hook="$SHELL_HOOK_EXTRA" '/# replaceShellHookHere/ { print hook; next } { print }' \
|
||||||
|
"$TARGET_DIR/flake.nix" > "$TARGET_DIR/flake.nix.tmp" \
|
||||||
|
&& mv "$TARGET_DIR/flake.nix.tmp" "$TARGET_DIR/flake.nix"
|
||||||
|
print_success "Added template-specific shell hook"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ---- Step 5: Git Integration & .envrc --------------------------------
|
||||||
|
echo -e "''${YELLOW}Step 5/5: Git Integration''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
TARGET_ABS="$(cd "$TARGET_DIR" && pwd)"
|
||||||
|
|
||||||
|
echo "Creating .envrc for direnv to automatically work!"
|
||||||
|
if ! grep -qxF "use flake" "$TARGET_ABS/.envrc" 2>/dev/null; then
|
||||||
|
echo "use flake" >> "$TARGET_ABS/.envrc"
|
||||||
|
print_success ".envrc created at $TARGET_ABS/"
|
||||||
|
else
|
||||||
|
print_info ".envrc already contains 'use flake', skipping."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if git -C "$TARGET_ABS" rev-parse --git-dir > /dev/null 2>&1; then
|
||||||
|
echo " A Git repository was detected at:"
|
||||||
|
echo " $(git -C "$TARGET_ABS" rev-parse --show-toplevel)"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Always add .envrc and .direnv to local exclude — no prompt needed,
|
||||||
|
# these should never be committed regardless.
|
||||||
|
_add_local_excludes "$TARGET_ABS"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " Nix flakes require flake.nix (and flake.lock) to be Git-tracked."
|
||||||
|
echo " This script can stage them as 'assume-unchanged' so Nix sees them,"
|
||||||
|
echo " but they will NEVER be committed or show up in git status."
|
||||||
|
echo ""
|
||||||
|
read -p " Set up flake files as tracked-but-invisible to Git? [y/N]: " GIT_CHOICE
|
||||||
|
|
||||||
|
GIT_CHOICE="''${GIT_CHOICE:-N}"
|
||||||
|
|
||||||
|
if [[ "$GIT_CHOICE" =~ ^[Yy]$ ]]; then
|
||||||
|
cat > "$TARGET_ABS/flake.lock" << 'EOF'
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"root": {}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
print_success "flake.lock ready (Nix will populate it on first run if empty)"
|
||||||
|
|
||||||
|
git -C "$TARGET_ABS" add --intent-to-add flake.nix flake.lock
|
||||||
|
git -C "$TARGET_ABS" update-index --assume-unchanged flake.nix flake.lock
|
||||||
|
print_success "flake.nix + flake.lock → tracked (assume-unchanged)"
|
||||||
|
else
|
||||||
|
print_info "Skipped. You can do this manually later:"
|
||||||
|
echo ""
|
||||||
|
echo " git -C \"$TARGET_ABS\" add --intent-to-add flake.nix flake.lock"
|
||||||
|
echo " git -C \"$TARGET_ABS\" update-index --assume-unchanged flake.nix flake.lock"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print_info "No Git repository detected — skipping Git integration."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ---- Done ---------------------------------------------------
|
||||||
|
echo -e "''${GREEN}==============================================''${NOCOLOR}"
|
||||||
|
echo -e "''${GREEN} Done! Your flake is ready at:''${NOCOLOR}"
|
||||||
|
echo -e "''${GREEN} $TARGET_DIR/flake.nix''${NOCOLOR}"
|
||||||
|
echo -e "''${GREEN}==============================================''${NOCOLOR}"
|
||||||
|
echo ""
|
||||||
|
print_info "Next steps:"
|
||||||
|
echo " cd $TARGET_DIR"
|
||||||
|
echo " direnv allow # Trust the .envrc so direnv auto-activates"
|
||||||
|
echo " nix develop # Or just: cd out and back in"
|
||||||
|
echo ""
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Error: Invalid command '$1'" >&2
|
echo "Error: Invalid command '$1'" >&2
|
||||||
print_help
|
print_help
|
||||||
|
|||||||
@ -7,21 +7,21 @@
|
|||||||
}: {
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
#CLI tools
|
#CLI tools
|
||||||
pdftk #PDF toolkit
|
imagemagick #Used as a dependency for Zenless Zone Zero
|
||||||
yt-dlp #YouTube and others video downloader
|
#pdftk #PDF toolkit
|
||||||
|
#yt-dlp #YouTube and others video downloader
|
||||||
tailscale #VPN
|
tailscale #VPN
|
||||||
speedtest-cli #Internet speed tester
|
#speedtest-cli #Internet speed tester
|
||||||
#duplicati
|
#duplicati
|
||||||
ollama-rocm
|
#open-webui
|
||||||
open-webui
|
#cloudflare-warp
|
||||||
cloudflare-warp
|
#ddrescue
|
||||||
ddrescue
|
#texliveFull #LaTeX PDF maker
|
||||||
texliveFull #LaTeX PDF maker
|
|
||||||
lazygit #Git CLI tool with TUI
|
lazygit #Git CLI tool with TUI
|
||||||
gtypist #Typing tutor
|
#gtypist #Typing tutor
|
||||||
powertop #Power consumption monitor and optimizer
|
#powertop #Power consumption monitor and optimizer
|
||||||
file #File type identifier
|
#file #File type identifier
|
||||||
hashcat #Password recovery/cracking tool
|
#hashcat #Password recovery/cracking tool
|
||||||
packwiz #A Minecraft modpack editor
|
#packwiz #A Minecraft modpack editor
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,5 +4,6 @@
|
|||||||
./cli.nix
|
./cli.nix
|
||||||
./essentials.nix
|
./essentials.nix
|
||||||
./flatpak.nix
|
./flatpak.nix
|
||||||
|
./overlays.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,58 +7,60 @@
|
|||||||
}: {
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
#Programming
|
#Programming
|
||||||
jetbrains.pycharm #The PyCharm IDE to edit Python code
|
#jetbrains.pycharm #The PyCharm IDE to edit Python code
|
||||||
jetbrains.idea #The IntelliJ IDE to edit Java code
|
#jetbrains.idea #The IntelliJ IDE to edit Java code
|
||||||
jetbrains.clion #The CLion IDE to edit and compile c/c++ code
|
#jetbrains.clion #The CLion IDE to edit and compile c/c++ code
|
||||||
jetbrains.datagrip #The DataGrip IDE to manage Databases
|
jetbrains.datagrip #The DataGrip IDE to manage Databases
|
||||||
#jetbrains-toolbox
|
#jetbrains-toolbox
|
||||||
#racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite)
|
#racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite)
|
||||||
rustup #Rust Programming Toolchain
|
#rustup #Rust Programming Toolchain
|
||||||
#go #Go Programming Language
|
#go #Go Programming Language
|
||||||
gcc #C/C++ Compiler
|
#gcc #C/C++ Compiler
|
||||||
pkg-config
|
#pkg-config
|
||||||
vscode #Editor for all kinds of programms
|
vscode #Editor for all kinds of programms
|
||||||
nodejs_22 #NodeJS for JavaScript programming
|
#nodejs_22 #NodeJS for JavaScript programming
|
||||||
|
|
||||||
#Hochschule
|
#Hochschule
|
||||||
postgresql #Database system
|
#postgresql #Database system
|
||||||
dbeaver-bin #Database Management Tool
|
#dbeaver-bin #Database Management Tool
|
||||||
sqlite #Lightweight Database system
|
#sqlite #Lightweight Database system
|
||||||
|
|
||||||
#Desktop Applications
|
#Desktop Applications
|
||||||
|
mangohud
|
||||||
|
protonup-qt #For managing proton versions
|
||||||
drawio
|
drawio
|
||||||
ryubing #Nintendo Switch Emulator
|
ryubing #Nintendo Switch Emulator
|
||||||
vlc #VLC Media Player
|
vlc #VLC Media Player
|
||||||
lutris #Gaming Platform
|
lutris #Gaming Platform
|
||||||
mission-center #For a Task Manager like GUI
|
mission-center #For a Task Manager like GUI
|
||||||
trayscale #Tailscale unofficial GUI
|
trayscale #Tailscale unofficial GUI
|
||||||
spotify #Spotify Music Client
|
#spotify #Spotify Music Client
|
||||||
rpi-imager #Raspberry Pi Imager
|
#rpi-imager #Raspberry Pi Imager
|
||||||
atlauncher #Minecraft Launcher
|
atlauncher #Minecraft Launcher
|
||||||
#discord
|
#discord
|
||||||
vesktop #Aternative for discord on Wayland
|
vesktop #Aternative for discord on Wayland
|
||||||
wineWow64Packages.stagingFull
|
wineWow64Packages.stagingFull
|
||||||
winetricks
|
winetricks
|
||||||
wasistlos #Whatsapp
|
#karere #Whatsapp
|
||||||
losslesscut-bin #Lossless cut for quckly cutting videos
|
#losslesscut-bin #Lossless cut for quckly cutting videos
|
||||||
#obs-studio #Screen Recorder
|
#obs-studio #Screen Recorder
|
||||||
gparted #Disk partition Manager
|
gparted #Disk partition Manager
|
||||||
#rustdesk #Remote Desktop Client
|
#rustdesk #Remote Desktop Client
|
||||||
realvnc-vnc-viewer #VNC Remote Desktop Client
|
#realvnc-vnc-viewer #VNC Remote Desktop Client
|
||||||
eddie #AirVPN desktop client
|
eddie #AirVPN desktop client
|
||||||
chromium #Chromium browser for Youtube app to work
|
chromium #Chromium browser for Youtube app to work
|
||||||
moonlight-qt #Game Streaming Client
|
#moonlight-qt #Game Streaming Client
|
||||||
kitty #Kitty Terminal Emulator
|
kitty #Kitty Terminal Emulator
|
||||||
wmctrl #To Force windows into fullscreen
|
wmctrl #To Force windows into fullscreen
|
||||||
kdePackages.dolphin #KDE File Browser
|
kdePackages.dolphin #KDE File Browser
|
||||||
libreoffice-still #Office Suite
|
#libreoffice-still #Office Suite
|
||||||
kdePackages.kservice
|
kdePackages.kservice
|
||||||
qbittorrent #Torrent Client
|
#qbittorrent #Torrent Client
|
||||||
waydroid #Android emulator on Linux
|
#waydroid #Android emulator on Linux
|
||||||
gimp2-with-plugins #Image Editor
|
#gimp2-with-plugins #Image Editor
|
||||||
kdePackages.filelight #Disk Usage Analyzer
|
#kdePackages.filelight #Disk Usage Analyzer
|
||||||
filezilla
|
#filezilla
|
||||||
audacity
|
#audacity
|
||||||
freecad
|
#freecad
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,22 +10,23 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
#Essentials (CLI Only)
|
#Essentials (CLI Only)
|
||||||
wget #A tool for quickly downloading things from the Web
|
wget #A tool for quickly downloading things from the Web
|
||||||
javaPackages.compiler.openjdk25 #Java Development Kit 25
|
#javaPackages.compiler.openjdk25 #Java Development Kit 25
|
||||||
python314 #Python
|
#python314 #Python
|
||||||
python314Packages.pip #Pip for Python 3.12
|
#python314Packages.pip #Pip for Python 3.12
|
||||||
python314Packages.cmake #The CMake tool to manage project build configurations
|
#python314Packages.cmake #The CMake tool to manage project build configurations
|
||||||
fastfetch #A utility to see information about your machine
|
fastfetch #A utility to see information about your machine
|
||||||
btop #A replacement for htop to see your machines resources
|
btop #A replacement for htop to see your machines resources
|
||||||
git #Git ... no need to explain
|
git #Git ... no need to explain
|
||||||
efibootmgr #A tool to manage UEFI boot entries
|
#efibootmgr #A tool to manage UEFI boot entries
|
||||||
zip #A utility for ZIP archives
|
zip #A utility for ZIP archives
|
||||||
unzip #A utility for ZIP archives
|
unzip #A utility for ZIP archives
|
||||||
|
p7zip
|
||||||
rar #A utility for RAR archives
|
rar #A utility for RAR archives
|
||||||
gnutar #A utility for .tar archives
|
gnutar #A utility for .tar archives
|
||||||
cron #A tool to set up commands to run scheduled
|
cron #A tool to set up commands to run scheduled
|
||||||
tmux #A tool to let command windows contiune to run in the background
|
tmux #A tool to let command windows contiune to run in the background
|
||||||
home-manager #A package to also edit the user Configuration, like with nix
|
home-manager #A package to also edit the user Configuration, like with nix
|
||||||
konsave #A package to transfer the look and feel of KDE Plasma to other machines
|
#konsave #A package to transfer the look and feel of KDE Plasma to other machines
|
||||||
openssh #SSH
|
openssh #SSH
|
||||||
zoxide #Alternatice to cd, browse files
|
zoxide #Alternatice to cd, browse files
|
||||||
zsh #Search for file names
|
zsh #Search for file names
|
||||||
@ -47,7 +48,7 @@
|
|||||||
pipewire #Multimedia handling
|
pipewire #Multimedia handling
|
||||||
fzf #Needed for nix-selective update tool
|
fzf #Needed for nix-selective update tool
|
||||||
jq #Needed for nix-selective update tool
|
jq #Needed for nix-selective update tool
|
||||||
distrobox
|
#distrobox
|
||||||
dbus
|
dbus
|
||||||
cifs-utils
|
cifs-utils
|
||||||
samba
|
samba
|
||||||
|
|||||||
10
modules/packages/overlays.nix
Normal file
10
modules/packages/overlays.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{...}: {
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
#Skip checks of openldap (dependency for Lutris) as it is already tested enough upstream and is not needed directly
|
||||||
|
(final: prev: {
|
||||||
|
openldap = prev.openldap.overrideAttrs (old: {
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
@ -18,7 +18,7 @@
|
|||||||
# colorTheme.enable = true;
|
# colorTheme.enable = true;
|
||||||
# profileNames = [ "${username}" ];
|
# profileNames = [ "${username}" ];
|
||||||
#};
|
#};
|
||||||
qt.enable = true;
|
qt.enable = false;
|
||||||
qt.platform = "kde";
|
qt.platform = "kde";
|
||||||
#kde.enable = false;
|
#kde.enable = false;
|
||||||
};
|
};
|
||||||
|
|||||||
75
other/dev-template.nix
Normal file
75
other/dev-template.nix
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
description = "A reproducible development environment";
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# Inputs – external flakes this flake depends on
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# flake-utils generates per-system outputs so you don't
|
||||||
|
# have to repeat yourself for every architecture.
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
# Outputs – everything this flake exposes
|
||||||
|
# ─────────────────────────────────────────────
|
||||||
|
outputs = { self, nixpkgs, flake-utils, ... }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
# Allow non-free packages
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
# ─────────────────────────────────────────
|
||||||
|
# `nix develop` drops you into this shell
|
||||||
|
# ─────────────────────────────────────────
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
|
||||||
|
# Human-readable name shown in the shell prompt
|
||||||
|
name = "replaceNameHere";
|
||||||
|
|
||||||
|
# ── Runtime packages available inside the shell ──────────────
|
||||||
|
# Add or remove anything from https://search.nixos.org/packages
|
||||||
|
packages = with pkgs; [
|
||||||
|
# Version control
|
||||||
|
git
|
||||||
|
|
||||||
|
# Common utilities
|
||||||
|
curl
|
||||||
|
wget
|
||||||
|
bat
|
||||||
|
|
||||||
|
# ── Language toolchains ──────────────────────────────────
|
||||||
|
# replacePackagesHere
|
||||||
|
];
|
||||||
|
|
||||||
|
# ── Build inputs (headers, libraries needed at compile time) ──
|
||||||
|
# Use this for native C libraries, e.g.:
|
||||||
|
# buildInputs = with pkgs; [ openssl zlib pkg-config ];
|
||||||
|
|
||||||
|
# replaceBuildInputsHere
|
||||||
|
|
||||||
|
# ── Shell hook – runs every time you enter the shell ──────────
|
||||||
|
shellHook = ''
|
||||||
|
echo ""
|
||||||
|
echo " 🐚 Development shell ready!"
|
||||||
|
echo " 📦 nixpkgs: ${nixpkgs.rev or "unknown"}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# replaceShellHookHere
|
||||||
|
'';
|
||||||
|
|
||||||
|
# ── Environment variables always present in the shell ─────────
|
||||||
|
|
||||||
|
# Allow broken or insecure packages
|
||||||
|
# NIX_CONFIG = "allow-broken = true";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -15,7 +15,7 @@
|
|||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ["${pkgs.kdePackages.yakuake}/bin/yakuake"];
|
ExecStart = ["${pkgs.kdePackages.yakuake}/bin/yakuake"];
|
||||||
|
|
||||||
Type = "oneshot";
|
Type = "simple";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = "5s";
|
RestartSec = "5s";
|
||||||
Environment = "PATH=/run/current-system/sw/bin:/etc/profiles/per-user/$USER/bin";
|
Environment = "PATH=/run/current-system/sw/bin:/etc/profiles/per-user/$USER/bin";
|
||||||
@ -30,7 +30,7 @@
|
|||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ["${pkgs.trayscale}/bin/trayscale --hide-window"];
|
ExecStart = ["${pkgs.trayscale}/bin/trayscale --hide-window"];
|
||||||
|
|
||||||
Type = "oneshot";
|
Type = "simple";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = "5s";
|
RestartSec = "5s";
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
username,
|
username,
|
||||||
project,
|
project,
|
||||||
cookiez-assets,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
# Define the custom background package with the correct relative path
|
# Define the custom background package with the correct relative path
|
||||||
# background-package = pkgs.stdenvNoCC.mkDerivation {
|
background-package = pkgs.stdenvNoCC.mkDerivation {
|
||||||
# name = "background-image";
|
name = "background-image";
|
||||||
# src = ../other/wallpaper4.png; # Place wallpaper.jpg in the same directory as this config file
|
src = "${inputs.cookiez-assets}/wallpapers/forest-cat.png"; # Place wallpaper.jpg in the same directory as this config file
|
||||||
# dontUnpack = true;
|
dontUnpack = true;
|
||||||
# installPhase = ''
|
installPhase = ''
|
||||||
# cp $src $out
|
cp $src $out
|
||||||
# '';
|
'';
|
||||||
# };
|
};
|
||||||
plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop"
|
plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop"
|
||||||
powerProfile = "laptop"; #Possible values are "laptop" or "desktop"
|
powerProfile = "laptop"; #Possible values are "laptop" or "desktop"
|
||||||
in {
|
in {
|
||||||
@ -25,7 +25,7 @@ in {
|
|||||||
|
|
||||||
# Pass the variable to home-manager
|
# Pass the variable to home-manager
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit plasmaTheme powerProfile cookiez-assets;
|
inherit plasmaTheme powerProfile;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
@ -38,8 +38,6 @@ in {
|
|||||||
"sddm".serviceConfig.KillMode = "mixed";
|
"sddm".serviceConfig.KillMode = "mixed";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gamemode.enable = true;
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -82,10 +80,10 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
#(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
||||||
# [General]
|
[General]
|
||||||
# background = "${background-package}"
|
background = "${background-package}"
|
||||||
#'') #Custom SDDM theme with background image
|
'') #Custom SDDM theme with background image
|
||||||
kdePackages.plymouth-kcm
|
kdePackages.plymouth-kcm
|
||||||
xdg-desktop-portal
|
xdg-desktop-portal
|
||||||
kdePackages.xdg-desktop-portal-kde
|
kdePackages.xdg-desktop-portal-kde
|
||||||
|
|||||||
@ -14,4 +14,7 @@
|
|||||||
]
|
]
|
||||||
++ lib.optionals (plasmaTheme == "laptop") [./settings/laptop.nix]
|
++ lib.optionals (plasmaTheme == "laptop") [./settings/laptop.nix]
|
||||||
++ lib.optionals (plasmaTheme == "desktop") [./settings/desktop.nix];
|
++ lib.optionals (plasmaTheme == "desktop") [./settings/desktop.nix];
|
||||||
|
|
||||||
|
#Add the wallpapers to be available to KDE wallpaper settings page
|
||||||
|
xdg.dataFile."wallpapers/cookiez".source = "${inputs.cookiez-assets}/wallpapers";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
username,
|
username,
|
||||||
project,
|
project,
|
||||||
plasmaTheme,
|
plasmaTheme,
|
||||||
cookiez-assets,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
@ -124,7 +123,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
configFile = {
|
configFile = {
|
||||||
plasmarc.Wallpapers.usersWallpapers = "${cookiez-assets}/wallpapers/pixel-desert.png";
|
plasmarc.Wallpapers.usersWallpapers = "${inputs.cookiez-assets}/wallpapers/pixel-desert.png";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -8,8 +8,8 @@
|
|||||||
}: let
|
}: let
|
||||||
profiles = {
|
profiles = {
|
||||||
laptop = {
|
laptop = {
|
||||||
AC.powerProfile = "powerSaving";
|
AC.powerProfile = null; #Set to null so it doesnt change on plugging it in.
|
||||||
battery.powerProfile = "powerSaving";
|
battery.powerProfile = null;
|
||||||
lowBattery.powerProfile = "powerSaving";
|
lowBattery.powerProfile = "powerSaving";
|
||||||
};
|
};
|
||||||
desktop = {
|
desktop = {
|
||||||
|
|||||||
Reference in New Issue
Block a user