Compare commits
23 Commits
6e682b315b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7ed6185b1d | |||
| 3d751291ab | |||
| 594e078929 | |||
| dc4ff6d8d2 | |||
| b341ca2c87 | |||
| 762bab2c0b | |||
| 0f1d51c246 | |||
| b953cdb4be | |||
| cf1470cb63 | |||
| 4962c1bb03 | |||
| ce797e1a65 | |||
| 93bc7644f5 | |||
| c986ac4bf7 | |||
| b25430abc9 | |||
| c6862c78db | |||
| 25ecab4a70 | |||
| 8de85492a6 | |||
| 059b424d87 | |||
| 8dba82f523 | |||
| 70fc8a0c9a | |||
| ea977f8253 | |||
| 9abff2dfd7 | |||
| 637def6ca3 |
290
flake.lock
generated
290
flake.lock
generated
@ -1,5 +1,28 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"alejandra": {
|
||||||
|
"inputs": {
|
||||||
|
"fenix": "fenix",
|
||||||
|
"flakeCompat": "flakeCompat",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744324181,
|
||||||
|
"narHash": "sha256-Oi1n2ncF4/AWeY6X55o2FddIRICokbciqFYK64XorYk=",
|
||||||
|
"owner": "kamadorueda",
|
||||||
|
"repo": "alejandra",
|
||||||
|
"rev": "3e2a85506627062313e131bf8a85315f3387c8e0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kamadorueda",
|
||||||
|
"ref": "4.0.0",
|
||||||
|
"repo": "alejandra",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
@ -21,17 +44,17 @@
|
|||||||
"base16-fish": {
|
"base16-fish": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754405784,
|
"lastModified": 1765809053,
|
||||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -68,14 +91,36 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fenix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"alejandra",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730615655,
|
||||||
|
"narHash": "sha256-2HBR3zLn57LXKNRtxBb+O+uDqHM4n0pz51rPayMl4cg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"rev": "efeb50e2535b17ffd4a135e6e3e5fd60a525180c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764724327,
|
"lastModified": 1764873433,
|
||||||
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
|
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
|
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -113,11 +158,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763759067,
|
"lastModified": 1767609335,
|
||||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -126,6 +171,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flakeCompat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -146,11 +207,11 @@
|
|||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.gnome.org",
|
"host": "gitlab.gnome.org",
|
||||||
"lastModified": 1764524476,
|
"lastModified": 1767737596,
|
||||||
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
|
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -186,11 +247,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765217760,
|
"lastModified": 1773286336,
|
||||||
"narHash": "sha256-BVVyAodLcAD8KOtR3yCStBHSE0WAH/xQWH9f0qsxbmk=",
|
"narHash": "sha256-+yFtmhOHterllxWmV6YbdevTXpJdGS0mS0UmJ0k9fh0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e5b1f87841810fc24772bf4389f9793702000c9b",
|
"rev": "7d06e0cefe6e4a1e85b2b3274dcb0b3da242a557",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -200,27 +261,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"zen-browser",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762964643,
|
|
||||||
"narHash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "827f2a23373a774a8805f84ca5344654c31f354b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
@ -233,11 +273,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765258158,
|
"lastModified": 1773303738,
|
||||||
"narHash": "sha256-d35lpzPLgL8gVruRAFt/KPwXQh7a19wR1AzQJHjyyuo=",
|
"narHash": "sha256-qrl74wNFMTUzA8z6nSEWNjQcJI/MQEWdWu2Wn+u4Ctg=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "7546342de11138550fcadf104b5257f6534886e2",
|
"rev": "329df7671b7859abd1cbca5d5af296ed6dc22b46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -266,11 +306,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765256153,
|
"lastModified": 1773130184,
|
||||||
"narHash": "sha256-tHey91LxQM6pgnTfguw0jqN45xj8X/0Vu71RPGkGSKg=",
|
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "83a733e08512d9a6ff5332ef53acc0e8e635c2ea",
|
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -281,11 +321,11 @@
|
|||||||
},
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754777568,
|
"lastModified": 1768656715,
|
||||||
"narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=",
|
"narHash": "sha256-Sbh037scxKFm7xL0ahgSCw+X2/5ZKeOwI2clqrYr9j4=",
|
||||||
"owner": "gmodena",
|
"owner": "gmodena",
|
||||||
"repo": "nix-flatpak",
|
"repo": "nix-flatpak",
|
||||||
"rev": "62f636b87ef6050760a8cb325cadb90674d1e23e",
|
"rev": "123fe29340a5b8671367055b75a6e7c320d6f89a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -296,11 +336,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764440730,
|
"lastModified": 1772972630,
|
||||||
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
|
"narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
|
"rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -311,11 +351,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765271087,
|
"lastModified": 1773304180,
|
||||||
"narHash": "sha256-u38f0e122QdMNWcgUVEzjDklxOauP/k0bEYNMg+Eeac=",
|
"narHash": "sha256-e/ctVWU2EYXBOsJHU76lN6vqugD8u1Xl20MJ+A+bPuE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "adf3274db725a05e8c2722e1ca62c781cea33cd0",
|
"rev": "d5eb8dca28f5be580c26f8fcb2ec4ec4215e9102",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -327,11 +367,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764983851,
|
"lastModified": 1773068389,
|
||||||
"narHash": "sha256-y7RPKl/jJ/KAP/VKLMghMgXTlvNIJMHKskl8/Uuar7o=",
|
"narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d9bc5c7dceb30d8d6fafa10aeb6aa8a48c218454",
|
"rev": "44bae273f9f82d480273bab26f5c50de3724f52f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -343,11 +383,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764950072,
|
"lastModified": 1773122722,
|
||||||
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f61125a668a320878494449750330ca58b78c557",
|
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -366,11 +406,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771135771,
|
"lastModified": 1772402258,
|
||||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -391,11 +431,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764773531,
|
"lastModified": 1767810917,
|
||||||
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
|
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
|
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -404,6 +444,43 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pam-fprint-grosshack": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pam-fprint-src": "pam-fprint-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774432303,
|
||||||
|
"narHash": "sha256-IdsKBu1HV1mYJMVuAL0GJiWeEkMrdW691aW8D6Zr15I=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "7ad351f85a92fee40806cb81777430c33499be41",
|
||||||
|
"revCount": 1,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitea.cookiee.org/cookiez/nix-fprint-grosshack-flake.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitea.cookiee.org/cookiez/nix-fprint-grosshack-flake.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pam-fprint-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1658952526,
|
||||||
|
"narHash": "sha256-obczZbf/oH4xGaVvp3y3ZyDdYhZnxlCWvL0irgEYIi0=",
|
||||||
|
"owner": "mishakmak",
|
||||||
|
"repo": "pam-fprint-grosshack",
|
||||||
|
"rev": "45b42524fb5783e1e555067743d7e0f70d27888a",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "mishakmak",
|
||||||
|
"repo": "pam-fprint-grosshack",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"plasma-manager": {
|
"plasma-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": [
|
"home-manager": [
|
||||||
@ -414,11 +491,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763909441,
|
"lastModified": 1772361940,
|
||||||
"narHash": "sha256-56LwV51TX/FhgX+5LCG6akQ5KrOWuKgcJa+eUsRMxsc=",
|
"narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "b24ed4b272256dfc1cc2291f89a9821d5f9e14b4",
|
"rev": "a4b33606111c9c5dcd10009042bb710307174f51",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -434,11 +511,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764663772,
|
"lastModified": 1773291133,
|
||||||
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
|
"narHash": "sha256-9Odn+7x5l90HnXRY7MwVYcX+8CYAo+ldJ+GOVs7e2T8=",
|
||||||
"owner": "outfoxxed",
|
"owner": "outfoxxed",
|
||||||
"repo": "quickshell",
|
"repo": "quickshell",
|
||||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
"rev": "9a9c60525014bcdf83aace03db4b53c19168edcc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -449,6 +526,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"alejandra": "alejandra",
|
||||||
"grub2-themes": "grub2-themes",
|
"grub2-themes": "grub2-themes",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
@ -456,10 +534,27 @@
|
|||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
|
"pam-fprint-grosshack": "pam-fprint-grosshack",
|
||||||
"plasma-manager": "plasma-manager",
|
"plasma-manager": "plasma-manager",
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix"
|
||||||
"zen-browser": "zen-browser"
|
}
|
||||||
|
},
|
||||||
|
"rust-analyzer-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730555913,
|
||||||
|
"narHash": "sha256-KNHZUlqsEibg3YtfUyOFQSofP8hp1HKoY+laoesBxRM=",
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"rev": "f17a5bbfd0969ba2e63a74505a80e55ecb174ed9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"ref": "nightly",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stylix": {
|
"stylix": {
|
||||||
@ -483,11 +578,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765047449,
|
"lastModified": 1772296853,
|
||||||
"narHash": "sha256-VQcqjJ2g0kT9TW4ENwA2HBQJzfbCUd5s1Wm3K+R2QZY=",
|
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "bd00e01aab676aee88e6cc5c9238b4a5a7d6639a",
|
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -563,11 +658,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763914658,
|
"lastModified": 1767710407,
|
||||||
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
|
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
|
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -579,11 +674,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764465359,
|
"lastModified": 1767489635,
|
||||||
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
|
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
|
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -595,11 +690,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764464512,
|
"lastModified": 1767488740,
|
||||||
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
|
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
|
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -628,11 +723,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765201946,
|
"lastModified": 1772429643,
|
||||||
"narHash": "sha256-7zkEUqmeWToaTGp29YI7HUN7qiSCauNB2ep0TpB1Jwk=",
|
"narHash": "sha256-M+bAeCCcjBnVk6w/4dIVvXvpJwOKnXjwi/lDbaN6Yws=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "2f9981ad0890739980d09cd2a18293a1d47d0f01",
|
"rev": "10f985b84cdbcc3bbf35b3e7e43d1b2a84fa9ce2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -640,27 +735,6 @@
|
|||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"zen-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765175766,
|
|
||||||
"narHash": "sha256-M4zs4bVUv0UNuVGspwwlcGs5FpCDt52LQBA5a9nj5Lg=",
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"rev": "5126a8426773dc213a8c0f0d646aca116194dab6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
46
flake.nix
46
flake.nix
@ -15,9 +15,6 @@
|
|||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
|
||||||
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
#stylix.url = "github:nix-community/stylix/";
|
#stylix.url = "github:nix-community/stylix/";
|
||||||
stylix.url = "github:nix-community/stylix/master"; #Had to use branch or it would not build corrently
|
stylix.url = "github:nix-community/stylix/master"; #Had to use branch or it would not build corrently
|
||||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -37,13 +34,34 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
alejandra = {
|
||||||
|
url = "github:kamadorueda/alejandra/4.0.0";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
pam-fprint-grosshack = {
|
||||||
|
url = "git+https://gitea.cookiee.org/cookiez/nix-fprint-grosshack-flake.git";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
||||||
|
|
||||||
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, plasma-manager, nixos-hardware, stylix, niri, zen-browser, grub2-themes, nix-flatpak, ... }:
|
outputs = inputs @ {
|
||||||
let
|
nixpkgs,
|
||||||
|
alejandra,
|
||||||
|
pam-fprint-grosshack,
|
||||||
|
home-manager,
|
||||||
|
plasma-manager,
|
||||||
|
nixos-hardware,
|
||||||
|
stylix,
|
||||||
|
niri,
|
||||||
|
grub2-themes,
|
||||||
|
nix-flatpak,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
username = "cookiez";
|
username = "cookiez";
|
||||||
hostname = "nixos";
|
hostname = "nixos";
|
||||||
project = "NixOS";
|
project = "NixOS";
|
||||||
@ -52,8 +70,9 @@
|
|||||||
pkgs = import nixpkgs {inherit system;};
|
pkgs = import nixpkgs {inherit system;};
|
||||||
|
|
||||||
framework13 = true;
|
framework13 = true;
|
||||||
in
|
in {
|
||||||
{
|
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
${hostname} = nixpkgs.lib.nixosSystem {
|
${hostname} = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
@ -63,12 +82,21 @@
|
|||||||
inherit version;
|
inherit version;
|
||||||
inherit system;
|
inherit system;
|
||||||
inherit project;
|
inherit project;
|
||||||
|
inherit alejandra;
|
||||||
|
pam-fprint-grosshack-pkg = pam-fprint-grosshack.packages.${system}.default;
|
||||||
host = hostname;
|
host = hostname;
|
||||||
};
|
};
|
||||||
modules = [
|
modules =
|
||||||
|
[
|
||||||
./modules
|
./modules
|
||||||
#Conditional Modules!
|
#Conditional Modules!
|
||||||
] ++ (if framework13 then [ nixos-hardware.nixosModules.framework-13-7040-amd ] else [ ]) ++ [
|
]
|
||||||
|
++ (
|
||||||
|
if framework13
|
||||||
|
then [nixos-hardware.nixosModules.framework-13-7040-amd]
|
||||||
|
else []
|
||||||
|
)
|
||||||
|
++ [
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
# silence first boot output
|
# silence first boot output
|
||||||
consoleLogLevel = 3;
|
consoleLogLevel = 3;
|
||||||
|
|||||||
@ -3,23 +3,32 @@
|
|||||||
#nmcli device wifi connect <ssid> password <password>
|
#nmcli device wifi connect <ssid> password <password>
|
||||||
# or if no password (open wifi)
|
# or if no password (open wifi)
|
||||||
#nmcli device wifi connect <ssid>
|
#nmcli device wifi connect <ssid>
|
||||||
|
|
||||||
{ inputs, config, pkgs, lib, username, project, host, version, system, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
host,
|
||||||
|
version,
|
||||||
|
system,
|
||||||
|
pam-fprint-grosshack-pkg,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
#Assign Swap to the PC
|
#Assign Swap to the PC
|
||||||
#swapDevices = [{
|
#swapDevices = [{
|
||||||
# device = "/swapfile";
|
# device = "/swapfile";
|
||||||
# size = 16 * 1024; # 16GB
|
# size = 16 * 1024; # 16GB
|
||||||
#}];
|
#}];
|
||||||
|
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
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
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
./firefox.nix
|
./firefox
|
||||||
./boot-splash.nix
|
./boot-splash.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
./neovim
|
./neovim
|
||||||
@ -53,7 +62,7 @@
|
|||||||
footer = true;
|
footer = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
timeout = 10;
|
timeout = 5;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -63,7 +72,6 @@
|
|||||||
#Manage flags -> Add bios_grub
|
#Manage flags -> Add bios_grub
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
|
|
||||||
@ -116,7 +124,7 @@
|
|||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
services = {
|
services = {
|
||||||
ollama = {
|
ollama = {
|
||||||
enable = true;
|
enable = false;
|
||||||
# Optional: load models on startup
|
# Optional: load models on startup
|
||||||
#loadModels = [ ... ];
|
#loadModels = [ ... ];
|
||||||
};
|
};
|
||||||
@ -183,6 +191,11 @@
|
|||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.fprintd = {
|
||||||
|
wantedBy = ["multi-user.target"];
|
||||||
|
serviceConfig.Type = "simple";
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
font-awesome
|
font-awesome
|
||||||
@ -301,10 +314,28 @@
|
|||||||
sudo.wheelNeedsPassword = false;
|
sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
pam.services = {
|
pam.services = {
|
||||||
login.fprintAuth = true;
|
login.fprintAuth = false;
|
||||||
sudo.fprintAuth = true;
|
sudo.fprintAuth = false; #Disabled because of security risk: https://nvd.nist.gov/vuln/detail/cve-2024-37408
|
||||||
|
kscreenlocker.fprintAuth = true;
|
||||||
|
polkit-1.fprintAuth = false; #Disabled because of security risk: https://nvd.nist.gov/vuln/detail/cve-2024-37408
|
||||||
kde.fprintAuth = false;
|
kde.fprintAuth = false;
|
||||||
hyprlock = {};
|
hyprlock = {};
|
||||||
|
|
||||||
|
sddm = {
|
||||||
|
fprintAuth = false; # prevent NixOS from adding its own pam_fprintd block
|
||||||
|
|
||||||
|
text = lib.mkForce ''
|
||||||
|
auth sufficient ${pam-fprint-grosshack-pkg}/lib/security/pam_fprintd_grosshack.so
|
||||||
|
auth sufficient pam_unix.so try_first_pass nullok
|
||||||
|
auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so
|
||||||
|
|
||||||
|
account required pam_unix.so
|
||||||
|
password required pam_deny.so
|
||||||
|
|
||||||
|
session required pam_unix.so
|
||||||
|
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
{ config, ... }:
|
{config, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
|
|
||||||
@ -43,6 +42,5 @@
|
|||||||
environment.etc."nixos-tags".text = "niri";
|
environment.etc."nixos-tags".text = "niri";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ pkgs, username, project, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
xdg = {
|
xdg = {
|
||||||
desktopEntries.youtube = {
|
desktopEntries.youtube = {
|
||||||
name = "YouTube";
|
name = "YouTube";
|
||||||
@ -107,6 +111,5 @@
|
|||||||
name = "Discover";
|
name = "Discover";
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
{ username, ... }:
|
|
||||||
{
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
profiles = {
|
|
||||||
"${username}" = {
|
|
||||||
extensions.force = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services."firefox-autostart" = {
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = "";
|
|
||||||
ExecStop = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,105 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
lock-false = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
lock-true = {
|
|
||||||
Value = true;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./firefox-home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
languagePacks = [ "de" "en-US" ];
|
|
||||||
|
|
||||||
/* ---- POLICIES ---- */
|
|
||||||
# Check about:policies#documentation for options.
|
|
||||||
policies = {
|
|
||||||
PasswordManagerEnabled = false;
|
|
||||||
DisableTelemetry = true;
|
|
||||||
DisableFirefoxStudies = true;
|
|
||||||
EnableTrackingProtection = {
|
|
||||||
Value= true;
|
|
||||||
Locked = true;
|
|
||||||
Cryptomining = true;
|
|
||||||
Fingerprinting = true;
|
|
||||||
};
|
|
||||||
DisablePocket = true;
|
|
||||||
#DisableFirefoxAccounts = true;
|
|
||||||
#DisableAccounts = true;
|
|
||||||
#DisableFirefoxScreenshots = true;
|
|
||||||
OverrideFirstRunPage = "";
|
|
||||||
OverridePostUpdatePage = "";
|
|
||||||
DontCheckDefaultBrowser = true;
|
|
||||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
|
||||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
|
||||||
SearchBar = "unified"; # alternative: "separate"
|
|
||||||
|
|
||||||
/* ---- EXTENSIONS ---- */
|
|
||||||
# Check about:support for extension/add-on ID strings.
|
|
||||||
# Valid strings for installation_mode are "allowed", "blocked",
|
|
||||||
# "force_installed" and "normal_installed".
|
|
||||||
|
|
||||||
# How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
|
||||||
ExtensionSettings =
|
|
||||||
with builtins;
|
|
||||||
let
|
|
||||||
extension = shortId: uuid: {
|
|
||||||
name = uuid;
|
|
||||||
value = {
|
|
||||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
|
||||||
installation_mode = "normal_installed";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
listToAttrs [
|
|
||||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
|
||||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
|
||||||
#(extension "2fas-two-factor-authentication" "admin@2fas.com")
|
|
||||||
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
|
||||||
#(extension "dearrow" "deArrow@ajay.app")
|
|
||||||
#(extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org")
|
|
||||||
#(extension "tabliss" "extension@tabliss.io")
|
|
||||||
#(extension "don-t-fuck-with-paste" "DontFuckWithPaste@raim.ist")
|
|
||||||
#(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
|
||||||
#(extension "react-devtools" "@react-devtools")
|
|
||||||
(extension "keepa" "amptra@keepa.com")
|
|
||||||
(extension "redditUntranslate" "reddit-url-redirector@kichkoupi.com")
|
|
||||||
(extension "darkreader" "addon@darkreader.org")
|
|
||||||
];
|
|
||||||
|
|
||||||
/* ---- PREFERENCES ---- */
|
|
||||||
# Check about:config for options.
|
|
||||||
Preferences = {
|
|
||||||
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
|
||||||
"extensions.pocket.enabled" = lock-false;
|
|
||||||
"extensions.screenshots.disabled" = lock-true;
|
|
||||||
"browser.topsites.contile.enabled" = lock-false;
|
|
||||||
#"browser.formfill.enable" = lock-false;
|
|
||||||
#"browser.search.suggest.enabled" = lock-false;
|
|
||||||
#"browser.search.suggest.enabled.private" = lock-false;
|
|
||||||
#"browser.urlbar.suggest.searches" = lock-false;
|
|
||||||
"browser.urlbar.showSearchSuggestionsFirst" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
171
modules/firefox/default.nix
Normal file
171
modules/firefox/default.nix
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
lock-false = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
lock-true = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
languagePacks = ["de" "en-US"];
|
||||||
|
|
||||||
|
/*
|
||||||
|
---- POLICIES ----
|
||||||
|
*/
|
||||||
|
# Check about:policies#documentation for options.
|
||||||
|
policies = {
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
EnableTrackingProtection = {
|
||||||
|
Value = true;
|
||||||
|
Locked = true;
|
||||||
|
Cryptomining = true;
|
||||||
|
Fingerprinting = true;
|
||||||
|
};
|
||||||
|
DisablePocket = true;
|
||||||
|
#DisableFirefoxAccounts = true;
|
||||||
|
#DisableAccounts = true;
|
||||||
|
#DisableFirefoxScreenshots = true;
|
||||||
|
OverrideFirstRunPage = "";
|
||||||
|
OverridePostUpdatePage = "";
|
||||||
|
DontCheckDefaultBrowser = true;
|
||||||
|
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||||
|
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||||
|
SearchBar = "unified"; # alternative: "separate"
|
||||||
|
|
||||||
|
/*
|
||||||
|
---- EXTENSIONS ----
|
||||||
|
*/
|
||||||
|
# Check about:support for extension/add-on ID strings.
|
||||||
|
# Valid strings for installation_mode are "allowed", "blocked",
|
||||||
|
# "force_installed" and "normal_installed".
|
||||||
|
|
||||||
|
# How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
||||||
|
ExtensionSettings = with builtins; let
|
||||||
|
extension = shortId: uuid: {
|
||||||
|
name = uuid;
|
||||||
|
value = {
|
||||||
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
listToAttrs [
|
||||||
|
#(extension "{name in url}" "{about:support Add-ons on }")
|
||||||
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
|
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
|
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
||||||
|
(extension "keepa" "amptra@keepa.com")
|
||||||
|
(extension "redditUntranslate" "reddit-url-redirector@kichkoupi.com")
|
||||||
|
(extension "darkreader" "addon@darkreader.org")
|
||||||
|
(extension "youtube-shorts-block" "{34daeb50-c2d2-4f14-886a-7160b24d66a4}")
|
||||||
|
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
||||||
|
];
|
||||||
|
|
||||||
|
/*
|
||||||
|
---- PREFERENCES ----
|
||||||
|
*/
|
||||||
|
# Check about:config for options.
|
||||||
|
Preferences = {
|
||||||
|
"browser.contentblocking.category" = {
|
||||||
|
Value = "strict"; # strictest tracker/ad blocking mode
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"extensions.pocket.enabled" = lock-false; # disables Pocket integration
|
||||||
|
"extensions.screenshots.disabled" = lock-true; # disables Firefox Screenshots
|
||||||
|
"browser.topsites.contile.enabled" = lock-false; # disables sponsored tiles on newtab
|
||||||
|
"browser.formfill.enable" = lock-false; # disables form autofill (prevents local data leakage)
|
||||||
|
"browser.search.suggest.enabled" = lock-false; # disables search suggestions in normal mode
|
||||||
|
"browser.search.suggest.enabled.private" = lock-false; # disables search suggestions in private mode
|
||||||
|
"browser.urlbar.suggest.searches" = lock-false; # disables search suggestions in address bar dropdown
|
||||||
|
"browser.urlbar.showSearchSuggestionsFirst" = lock-false; # hides search suggestions in address bar
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false; # disables sponsored stories on newtab
|
||||||
|
"browser.newtabpage.activity-stream.feeds.snippets" = lock-false; # disables news snippets on newtab
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false; # removes Pocket from highlights
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false; # removes bookmarks from highlights
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false; # removes downloads from highlights
|
||||||
|
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false; # removes visited sites from highlights
|
||||||
|
"browser.newtabpage.activity-stream.showSponsored" = lock-false; # disables all sponsored content
|
||||||
|
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false; # disables system-level sponsored content
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false; # disables sponsored top sites
|
||||||
|
|
||||||
|
"privacy.resistFingerprinting" = lock-true; # spoofs/normalizes fingerprinting signals (screen, timezone, fonts)
|
||||||
|
"privacy.firstparty.isolate" = lock-true; # isolates cookies/storage per top-level domain (breaks cross-site tracking)
|
||||||
|
"network.dns.disablePrefetch" = lock-true; # stops speculative DNS lookups for unclicked links
|
||||||
|
"network.predictor.enabled" = lock-false; # disables ML-based prefetch predictions
|
||||||
|
"network.prefetch-next" = lock-false; # disables link-hover prefetching
|
||||||
|
"toolkit.telemetry.enabled" = lock-false; # disables core telemetry reporting
|
||||||
|
"toolkit.telemetry.unified" = lock-false; # disables unified telemetry pipeline
|
||||||
|
"datareporting.healthreport.uploadEnabled" = lock-false; # disables Firefox Health Report uploads
|
||||||
|
"dom.battery.enabled" = lock-false; # blocks Battery Status API fingerprinting
|
||||||
|
"dom.gamepad.enabled" = lock-false; # blocks Gamepad API fingerprinting
|
||||||
|
|
||||||
|
"browser.startup.homepage" = {
|
||||||
|
Value = "about:blank";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"browser.startup.page" = {
|
||||||
|
Value = 0;
|
||||||
|
Status = "locked";
|
||||||
|
}; # 0=blank, 3=homepage
|
||||||
|
"browser.startup.homepage_override.mstone" = {
|
||||||
|
Value = "ignore";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
|
||||||
|
# HTTPS‑only / mixed‑content
|
||||||
|
"dom.security.https_only_mode" = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
"dom.security.https_only_mode_ever_enabled" = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Referrer / headers tightening
|
||||||
|
"network.http.referer.XOriginPolicy" = {
|
||||||
|
Value = 2;
|
||||||
|
Status = "locked";
|
||||||
|
}; # strict cross‑origin
|
||||||
|
"network.http.referer.XOriginTrimmingPolicy" = {
|
||||||
|
Value = 2;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
|
||||||
|
# DNS‑over‑HTTPS (if you want enforced DoH)
|
||||||
|
"network.trr.mode" = {
|
||||||
|
Value = 2;
|
||||||
|
Status = "locked";
|
||||||
|
}; # 2=prefer TRR
|
||||||
|
"network.trr.custom_uri" = {
|
||||||
|
Value = "https://dns.quad9.net/dns-query";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Disable various Web APIs that can leak or be abused
|
||||||
|
"dom.webnotifications.enabled" = lock-false; # disable desktop notifications
|
||||||
|
"media.navigator.enabled" = lock-false; # disable getUserMedia permission prompts
|
||||||
|
"media.webrtc.legacy_global_callback" = lock-false;
|
||||||
|
|
||||||
|
# Disable geolocation / sensors
|
||||||
|
"geo.enabled" = lock-false;
|
||||||
|
"device.sensors.enabled" = lock-false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
44
modules/firefox/home.nix
Normal file
44
modules/firefox/home.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{username, ...}: {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
"${username}" = {
|
||||||
|
extensions.force = true;
|
||||||
|
|
||||||
|
#Create multiple containers, like "work" "social media" ..., for cookies to reside in so they dont cross leak
|
||||||
|
#containers.force = true;
|
||||||
|
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
default = "SearXNG";
|
||||||
|
order = ["SearXNG"];
|
||||||
|
engines = {
|
||||||
|
"SearXNG" = {
|
||||||
|
name = "SearXNG";
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://searxng.cookiee.org/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
iconMapObj."16" = "https://searxng.cookiee.org/favicon.ico";
|
||||||
|
definedAliases = ["@sx"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services."firefox-autostart" = {
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "";
|
||||||
|
ExecStop = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,11 +1,15 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "uas" "usbhid" "sd_mod"];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "uas" "usbhid" "sd_mod"];
|
||||||
@ -13,13 +17,13 @@
|
|||||||
boot.kernelModules = ["kvm-amd"];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/af8fdb25-74d8-4b33-8413-bdcb66e0d22a";
|
device = "/dev/disk/by-uuid/af8fdb25-74d8-4b33-8413-bdcb66e0d22a";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/58D5-0C06";
|
device = "/dev/disk/by-uuid/58D5-0C06";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0077" "dmask=0077"];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,24 +1,33 @@
|
|||||||
{ lib, inputs, config, pkgs, username, project, host, version, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
host,
|
||||||
|
version,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
# paths it should manage.
|
# paths it should manage.
|
||||||
home.username = username;
|
home.username = username;
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
home.packages = [
|
home.packages = [
|
||||||
(import ./ncli.nix { inherit pkgs host project; backupFiles = [
|
(import ./ncli.nix {
|
||||||
|
inherit pkgs host project;
|
||||||
|
backupFiles = [
|
||||||
".gtkrc-2.0.backup"
|
".gtkrc-2.0.backup"
|
||||||
".config/gtk-3.0/gtk.css.backup"
|
".config/gtk-3.0/gtk.css.backup"
|
||||||
".config/gtk-3.0/settings.ini.backup"
|
".config/gtk-3.0/settings.ini.backup"
|
||||||
".config/gtk-4.0/gtk.css.backup"
|
".config/gtk-4.0/gtk.css.backup"
|
||||||
".config/gtk-4.0/settings.ini.backup"
|
".config/gtk-4.0/settings.ini.backup"
|
||||||
".config/niri/config.kdl"
|
".config/niri/config.kdl"
|
||||||
]; })
|
];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.zen-browser.homeModules.beta
|
|
||||||
# or inputs.zen-browser.homeModules.twilight
|
|
||||||
# or inputs.zen-browser.homeModules.twilight-official
|
|
||||||
#./neovim-home.nix
|
#./neovim-home.nix
|
||||||
./desktop-entries.nix
|
./desktop-entries.nix
|
||||||
];
|
];
|
||||||
@ -37,7 +46,6 @@
|
|||||||
programs = {
|
programs = {
|
||||||
home-manager = {enable = true;};
|
home-manager = {enable = true;};
|
||||||
|
|
||||||
|
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#enableZshIntegration = true;
|
#enableZshIntegration = true;
|
||||||
@ -56,7 +64,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@ -68,75 +75,5 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
zen-browser = {
|
|
||||||
enable = false;
|
|
||||||
#package = inputs.zen-browser.packages.${pkgs.system}.default;
|
|
||||||
profiles = {
|
|
||||||
${username} = {
|
|
||||||
id = 0;
|
|
||||||
name = username;
|
|
||||||
# profileAvatarPath = "chrome://browser/content/zen-avatars/avatar-57.svg";
|
|
||||||
path = "${username}.default";
|
|
||||||
isDefault = true;
|
|
||||||
settings = {
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
policies = {
|
|
||||||
AutofillAddressEnabled = false;
|
|
||||||
AutofillCreditCardEnabled = false;
|
|
||||||
PasswordManagerEnabled = false;
|
|
||||||
NoDefaultBookmarks = true;
|
|
||||||
DisableAppUpdate = true;
|
|
||||||
DisableFirefoxStudies = true;
|
|
||||||
DontCheckDefaultBrowser = true;
|
|
||||||
EnableTrackingProtection = {
|
|
||||||
Value = true;
|
|
||||||
Locked = true;
|
|
||||||
Cryptomining = true;
|
|
||||||
Fingerprinting = true;
|
|
||||||
};
|
|
||||||
OfferToSaveLogins = false;
|
|
||||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
|
||||||
|
|
||||||
ExtensionSettings =
|
|
||||||
with builtins;
|
|
||||||
let
|
|
||||||
extension = shortId: uuid: {
|
|
||||||
name = uuid;
|
|
||||||
value = {
|
|
||||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
listToAttrs [
|
|
||||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
|
||||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
|
||||||
#(extension "2fas-two-factor-authentication" "admin@2fas.com")
|
|
||||||
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
|
||||||
#(extension "dearrow" "deArrow@ajay.app")
|
|
||||||
#(extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org")
|
|
||||||
#(extension "tabliss" "extension@tabliss.io")
|
|
||||||
#(extension "don-t-fuck-with-paste" "DontFuckWithPaste@raim.ist")
|
|
||||||
#(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
|
||||||
#(extension "react-devtools" "@react-devtools")
|
|
||||||
(extension "keepa" "amptra@keepa.com")
|
|
||||||
(extension "redditUntranslate" "reddit-url-redirector@kichkoupi.com")
|
|
||||||
];
|
|
||||||
# To add additional extensions, find it on addons.mozilla.org, find
|
|
||||||
# the short ID in the url (like https=//addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
|
||||||
# Then, download the XPI by filling it in to the install_url template, unzip it,
|
|
||||||
# run `jq .browser_specific_settings.gecko.id manifest.json` or
|
|
||||||
# `jq .applications.gecko.id manifest.json` to get the UUID
|
|
||||||
Preferences = {
|
|
||||||
#"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
|
||||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
|
||||||
"browser.sessionstore.resume_session_once" = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}; #End of programs = {};
|
}; #End of programs = {};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -7,8 +11,7 @@
|
|||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs; [
|
||||||
[
|
|
||||||
hyprlock
|
hyprlock
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
{pkgs, inputs, username, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -7,8 +11,7 @@
|
|||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs; [
|
||||||
[
|
|
||||||
hyprpaper
|
hyprpaper
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
{pkgs, inputs, username, project, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -3,11 +3,15 @@
|
|||||||
#nmcli device wifi connect <ssid> password <password>
|
#nmcli device wifi connect <ssid> password <password>
|
||||||
# or if no password (open wifi)
|
# or if no password (open wifi)
|
||||||
#nmcli device wifi connect <ssid>
|
#nmcli device wifi connect <ssid>
|
||||||
|
|
||||||
{ config, pkgs, lib, username, version, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
|
lib,
|
||||||
|
username,
|
||||||
|
version,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
#./ncli.nix
|
#./ncli.nix
|
||||||
|
|||||||
@ -161,13 +161,64 @@ in
|
|||||||
echo -e "Updating flake and rebuilding system for current host: $HOST on generation: $YELLOW$geno$NOCOLOR"
|
echo -e "Updating flake and rebuilding system for current host: $HOST on generation: $YELLOW$geno$NOCOLOR"
|
||||||
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
||||||
|
|
||||||
echo "Updating flake..."
|
# --- Selective flake update ---
|
||||||
if nix flake update; then
|
read -rp "Update [a]ll inputs or [s]elect manually? (a/s): " choice
|
||||||
|
|
||||||
|
case "$choice" in
|
||||||
|
a|A)
|
||||||
|
echo "Updating all inputs..."
|
||||||
|
if nix flake update --flake .; then
|
||||||
echo "✓ Flake updated successfully"
|
echo "✓ Flake updated successfully"
|
||||||
else
|
else
|
||||||
echo "✗ Flake update failed" >&2
|
echo "✗ Flake update failed" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
s|S)
|
||||||
|
echo "Fetching available updates (this may take a moment)..."
|
||||||
|
TEMP_LOCK=$(mktemp)
|
||||||
|
trap 'rm -f "$TEMP_LOCK"' EXIT
|
||||||
|
|
||||||
|
nix flake update --output-lock-file "$TEMP_LOCK" --flake . 2>/dev/null
|
||||||
|
|
||||||
|
outdated=$(jq -r --slurpfile new "$TEMP_LOCK" '
|
||||||
|
.nodes as $old |
|
||||||
|
$new[0].nodes as $newn |
|
||||||
|
($old | keys[]) |
|
||||||
|
select(. != "root") |
|
||||||
|
select(
|
||||||
|
($old[.].locked.lastModified // 0) !=
|
||||||
|
($newn[.].locked.lastModified // 0)
|
||||||
|
)
|
||||||
|
' flake.lock)
|
||||||
|
|
||||||
|
if [[ -z "$outdated" ]]; then
|
||||||
|
echo "✓ All inputs are already up to date, skipping flake update."
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "Updates available for:"
|
||||||
|
printf '%s\n' "$outdated"
|
||||||
|
echo
|
||||||
|
echo "Tab to select, Enter to update, Esc to cancel."
|
||||||
|
selected=$(printf '%s\n' "$outdated" | fzf --multi) || {
|
||||||
|
echo "No inputs selected, skipping flake update."
|
||||||
|
selected=""
|
||||||
|
}
|
||||||
|
if [[ -n "$selected" ]]; then
|
||||||
|
if nix flake update --flake . $selected; then
|
||||||
|
echo "✓ Flake updated successfully"
|
||||||
|
else
|
||||||
|
echo "✗ Flake update failed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid choice, skipping flake update."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# --- End selective flake update ---
|
||||||
|
|
||||||
|
|
||||||
current=""
|
current=""
|
||||||
@ -261,6 +312,9 @@ in
|
|||||||
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
||||||
git status
|
git status
|
||||||
;;
|
;;
|
||||||
|
format)
|
||||||
|
nix fmt .
|
||||||
|
;;
|
||||||
trim)
|
trim)
|
||||||
echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance."
|
echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance."
|
||||||
read -p "Enter to run now or enter to exit (y/N): " -n 1 -r
|
read -p "Enter to run now or enter to exit (y/N): " -n 1 -r
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
{ inputs, config, lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs;
|
inputs,
|
||||||
[
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
neovim
|
||||||
vimPlugins.LazyVim
|
vimPlugins.LazyVim
|
||||||
vimPlugins.lazygit-nvim
|
vimPlugins.lazygit-nvim
|
||||||
@ -13,7 +17,6 @@
|
|||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# programs.neovim = {
|
# programs.neovim = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
#};
|
#};
|
||||||
|
|||||||
@ -1,5 +1,10 @@
|
|||||||
{ inputs, config, lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixvim.homeModules.nixvim
|
inputs.nixvim.homeModules.nixvim
|
||||||
];
|
];
|
||||||
@ -60,6 +65,8 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
|
# Remeber where you left the file last time
|
||||||
|
lastplace.enable = true;
|
||||||
# Statusline at the bottom of the screen
|
# Statusline at the bottom of the screen
|
||||||
lualine.enable = true;
|
lualine.enable = true;
|
||||||
# Tab bar at the top of the screen
|
# Tab bar at the top of the screen
|
||||||
@ -79,7 +86,40 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Shows the current function/class context pinned at the top of the buffer
|
# Shows the current function/class context pinned at the top of the buffer
|
||||||
treesitter-context.enable = true;
|
treesitter-context = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# Cap the context header
|
||||||
|
max_lines = 4;
|
||||||
|
# When over the limit, drop outermost context
|
||||||
|
trim_scope = "outer";
|
||||||
|
# Only show context in tall-enough windows
|
||||||
|
min_window_height = 20;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Provides autocompletion suggestions
|
||||||
|
blink-cmp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
keymap.preset = "default"; # Tab/S-Tab to navigate, Enter to confirm
|
||||||
|
sources.default = ["lsp" "path" "snippets" "buffer"];
|
||||||
|
completion = {
|
||||||
|
documentation.auto_show = true;
|
||||||
|
ghost_text.enabled = true; # inline preview of the top suggestion
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
nixd.enable = true; # Nix
|
||||||
|
ts_ls.enable = true; # TypeScript/JavaScript
|
||||||
|
# ... add more as needed
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Text objects based on treesitter nodes (e.g. select a function body)
|
# Text objects based on treesitter nodes (e.g. select a function body)
|
||||||
treesitter-textobjects.enable = true;
|
treesitter-textobjects.enable = true;
|
||||||
# Auto-closes and renames HTML/JSX tags using treesitter
|
# Auto-closes and renames HTML/JSX tags using treesitter
|
||||||
@ -108,6 +148,22 @@
|
|||||||
check_ts = true; # Use treesitter to avoid pairing inside strings/comments
|
check_ts = true; # Use treesitter to avoid pairing inside strings/comments
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
conform-nvim = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
nix = ["alejandra"];
|
||||||
|
};
|
||||||
|
format_on_save = {
|
||||||
|
lsp_format = "fallback";
|
||||||
|
timeout_ms = 500;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Pin the exact binary path so Nix guarantees it's available
|
||||||
|
settings.formatters = {
|
||||||
|
alejandra.command = "${pkgs.alejandra}/bin/alejandra";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
|||||||
@ -1,5 +1,10 @@
|
|||||||
{config, pkgs, libs, inputs, ...}:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
#CLI tools
|
#CLI tools
|
||||||
pdftk #PDF toolkit
|
pdftk #PDF toolkit
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./desktop.nix
|
./desktop.nix
|
||||||
./cli.nix
|
./cli.nix
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
{config, pkgs, libs, inputs, ...}:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
||||||
#Programming
|
#Programming
|
||||||
jetbrains.pycharm-community #The PyCharm IDE to edit Python code
|
jetbrains.pycharm #The PyCharm IDE to edit Python code
|
||||||
jetbrains.idea-community #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
|
||||||
@ -33,9 +37,10 @@
|
|||||||
atlauncher #Minecraft Launcher
|
atlauncher #Minecraft Launcher
|
||||||
#discord
|
#discord
|
||||||
vesktop #Aternative for discord on Wayland
|
vesktop #Aternative for discord on Wayland
|
||||||
wineWowPackages.stagingFull
|
wineWow64Packages.stagingFull
|
||||||
winetricks
|
winetricks
|
||||||
wasistlos #Whatsapp
|
wasistlos #Whatsapp
|
||||||
|
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
|
||||||
|
|||||||
@ -1,12 +1,19 @@
|
|||||||
{config, pkgs, libs, inputs, nix-flatpak, ...}:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
alejandra,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
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
|
||||||
python312 #Python 3.12
|
python314 #Python
|
||||||
python312Packages.pip #Pip for Python 3.12
|
python314Packages.pip #Pip for Python 3.12
|
||||||
python312Packages.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
|
||||||
@ -21,7 +28,7 @@
|
|||||||
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
|
||||||
fzf-zsh #Search for file names
|
zsh #Search for file names
|
||||||
coreutils-full #Full set of coreutils, including some missing ones
|
coreutils-full #Full set of coreutils, including some missing ones
|
||||||
multipath-tools
|
multipath-tools
|
||||||
docker #Docker ... no need to explain
|
docker #Docker ... no need to explain
|
||||||
@ -38,6 +45,8 @@
|
|||||||
rocmPackages.rocm-runtime #AMD ROCm runtime
|
rocmPackages.rocm-runtime #AMD ROCm runtime
|
||||||
ripgrep #Alternative to grep search for text in files
|
ripgrep #Alternative to grep search for text in files
|
||||||
pipewire #Multimedia handling
|
pipewire #Multimedia handling
|
||||||
|
fzf #Needed for nix-selective update tool
|
||||||
|
jq #Needed for nix-selective update tool
|
||||||
distrobox
|
distrobox
|
||||||
dbus
|
dbus
|
||||||
cifs-utils
|
cifs-utils
|
||||||
@ -45,5 +54,6 @@
|
|||||||
kdePackages.ksshaskpass
|
kdePackages.ksshaskpass
|
||||||
ntfs3g
|
ntfs3g
|
||||||
appimage-run
|
appimage-run
|
||||||
|
alejandra.defaultPackage.${system}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
{config, pkgs, libs, inputs, nix-flatpak, ...}:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
nix-flatpak,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services.flatpak = {
|
services.flatpak = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
{ pkgs, inputs, username, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
imports =
|
inputs,
|
||||||
[
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
{pkgs, inputs, username, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -18,7 +21,6 @@
|
|||||||
qt.enable = true;
|
qt.enable = true;
|
||||||
qt.platform = "kde";
|
qt.platform = "kde";
|
||||||
#kde.enable = false;
|
#kde.enable = false;
|
||||||
zen-browser.profileNames = [ "${username}" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
# xdg.configFile."waybar/config.jsonc".source = ./config.jsonc;
|
# xdg.configFile."waybar/config.jsonc".source = ./config.jsonc;
|
||||||
# xdg.configFile."waybar/style.css".source = ./style.css;
|
# xdg.configFile."waybar/style.css".source = ./style.css;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,10 @@
|
|||||||
{ config, pkgs, username, project, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = false;
|
enableCompletion = false;
|
||||||
@ -19,7 +25,6 @@
|
|||||||
|
|
||||||
#To reset powerlevel10k, write 'p10k configure' in shell!
|
#To reset powerlevel10k, write 'p10k configure' in shell!
|
||||||
promptInit = ''
|
promptInit = ''
|
||||||
source ${pkgs.zsh-autocomplete}/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
|
|
||||||
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
||||||
|
|
||||||
# Make ← and → move the cursor on the command line, even when in the menu
|
# Make ← and → move the cursor on the command line, even when in the menu
|
||||||
@ -35,7 +40,6 @@
|
|||||||
pkgs.zsh-completions
|
pkgs.zsh-completions
|
||||||
pkgs.zsh-powerlevel10k
|
pkgs.zsh-powerlevel10k
|
||||||
pkgs.zsh-syntax-highlighting
|
pkgs.zsh-syntax-highlighting
|
||||||
pkgs.zsh-autocomplete
|
|
||||||
pkgs.zsh-autosuggestions
|
pkgs.zsh-autosuggestions
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
{ config, pkgs, username, project, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
#To show logs of services run:
|
#To show logs of services run:
|
||||||
#journalctl --user-unit={service-name} --user
|
#journalctl --user-unit={service-name} --user
|
||||||
systemd.user.services.niri-waybar = {
|
systemd.user.services.niri-waybar = {
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./autostart.nix
|
./autostart.nix
|
||||||
../modules/hyprlock
|
../modules/hyprlock
|
||||||
@ -11,8 +15,7 @@
|
|||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs; [
|
||||||
[
|
|
||||||
#mako
|
#mako
|
||||||
fuzzel
|
fuzzel
|
||||||
waybar
|
waybar
|
||||||
@ -26,11 +29,11 @@
|
|||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#services.xserver.enable = true;
|
#services.xserver.enable = true;
|
||||||
#services.xserver.displayManager.sddm.enable = true;
|
#services.xserver.displayManager.sddm.enable = true;
|
||||||
|
|
||||||
xdg.portal = { #Needed for waybar
|
xdg.portal = {
|
||||||
|
#Needed for waybar
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr];
|
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr];
|
||||||
config.common.default = "*";
|
config.common.default = "*";
|
||||||
@ -38,5 +41,4 @@
|
|||||||
|
|
||||||
#sound.enable = true;
|
#sound.enable = true;
|
||||||
#security.rtkit.enable = true;
|
#security.rtkit.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
{pkgs, inputs, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.niri.homeModules.niri
|
inputs.niri.homeModules.niri
|
||||||
../modules/waybar/home.nix
|
../modules/waybar/home.nix
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
#-----
|
#-----
|
||||||
alias py="python3"
|
alias py="python3"
|
||||||
alias mcrow="echo 'you better try to use nvim you little shit! :3'"
|
alias mcrow="echo 'you better try to use nvim you little shit! :3'"
|
||||||
|
alias vi="nvim"
|
||||||
alias srcals="source $HOME/NixOS/other/aliases && echo 'Sourced Aliases ... successful!'"
|
alias srcals="source $HOME/NixOS/other/aliases && echo 'Sourced Aliases ... successful!'"
|
||||||
alias please="sudo"
|
alias please="sudo"
|
||||||
alias se="sudoedit"
|
alias se="sudoedit"
|
||||||
@ -25,7 +26,8 @@ alias nix-clear="sudo nix-store --gc"
|
|||||||
|
|
||||||
#KDE Plasma Specific
|
#KDE Plasma Specific
|
||||||
#-----
|
#-----
|
||||||
alias kde-theme-apply="source $HOME/NixOS/plasma/konsave.sh"
|
alias plasma-snap="cp ~/.config/plasma-org.kde.plasma.desktop-appletsrc ~/appletsrc.snap"
|
||||||
|
alias plasma-diff="diff ~/appletsrc.snap ~/.config/plasma-org.kde.plasma.desktop-appletsrc"
|
||||||
|
|
||||||
#LaTeX Commands
|
#LaTeX Commands
|
||||||
alias makepdf="makeglossaries main && pdflatex main.tex"
|
alias makepdf="makeglossaries main && pdflatex main.tex"
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
{ config, pkgs, username, project, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
#To show logs of services run: journalctl --user-unit={service-name} --user
|
#To show logs of services run: journalctl --user-unit={service-name} --user
|
||||||
|
|
||||||
systemd.user.services.autostart-yakuake = {
|
systemd.user.services.autostart-yakuake = {
|
||||||
|
|||||||
@ -1,5 +1,10 @@
|
|||||||
{config, pkgs, username, project, ...}:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: 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";
|
||||||
@ -12,10 +17,8 @@ let
|
|||||||
|
|
||||||
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 {
|
||||||
{
|
imports = [
|
||||||
imports =
|
|
||||||
[
|
|
||||||
./autostart.nix
|
./autostart.nix
|
||||||
../modules/stylix
|
../modules/stylix
|
||||||
];
|
];
|
||||||
@ -75,7 +78,6 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|
||||||
plasma6.excludePackages = with pkgs; [
|
plasma6.excludePackages = with pkgs; [
|
||||||
kdePackages.elisa
|
kdePackages.elisa
|
||||||
];
|
];
|
||||||
|
|||||||
@ -1,7 +1,14 @@
|
|||||||
{pkgs, lib, inputs, username, project, plasmaTheme, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
imports = [
|
lib,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports =
|
||||||
|
[
|
||||||
./settings/common.nix
|
./settings/common.nix
|
||||||
./settings/powerProfile.nix
|
./settings/powerProfile.nix
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,9 +1,15 @@
|
|||||||
{pkgs, inputs, username, project, plasmaTheme, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
plasma = {
|
plasma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
overrideConfig = true;
|
overrideConfig = false;
|
||||||
|
|
||||||
input.mice = [
|
input.mice = [
|
||||||
{
|
{
|
||||||
@ -13,10 +19,29 @@
|
|||||||
leftHanded = false;
|
leftHanded = false;
|
||||||
#middleButtonEmulation = false;
|
#middleButtonEmulation = false;
|
||||||
#naturalScroll = false;
|
#naturalScroll = false;
|
||||||
acceleration = -0.25;
|
#acceleration = -0.25;
|
||||||
|
acceleration = 0;
|
||||||
accelerationProfile = "none";
|
accelerationProfile = "none";
|
||||||
scrollSpeed = 1.0;
|
scrollSpeed = 1.0;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "ROCCAT ROCCAT Kone Aimo 16K";
|
||||||
|
vendorId = "1e7d";
|
||||||
|
productId = "2e2c";
|
||||||
|
leftHanded = false;
|
||||||
|
acceleration = -1;
|
||||||
|
accelerationProfile = "none";
|
||||||
|
scrollSpeed = 1.0;
|
||||||
|
}
|
||||||
|
#{
|
||||||
|
# name = "ROCCAT ROCCAT Vulcan AIMO";
|
||||||
|
# vendorId = "1e7d";
|
||||||
|
# productId = "3098";
|
||||||
|
# leftHanded = false;
|
||||||
|
# acceleration = -1;
|
||||||
|
# accelerationProfile = "none";
|
||||||
|
# scrollSpeed = 1.0;
|
||||||
|
#}
|
||||||
];
|
];
|
||||||
|
|
||||||
shortcuts = {
|
shortcuts = {
|
||||||
@ -32,7 +57,6 @@
|
|||||||
"Switch to Next Keyboard Layout" = [];
|
"Switch to Next Keyboard Layout" = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
#kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
||||||
#kcm_touchpad."Disable Touchpad" = "Touchpad Off";
|
#kcm_touchpad."Disable Touchpad" = "Touchpad Off";
|
||||||
#kcm_touchpad."Enable Touchpad" = "Touchpad On";
|
#kcm_touchpad."Enable Touchpad" = "Touchpad On";
|
||||||
@ -293,10 +317,11 @@
|
|||||||
#baloofilerc.General."exclude filters version" = 9;
|
#baloofilerc.General."exclude filters version" = 9;
|
||||||
dolphinrc = {
|
dolphinrc = {
|
||||||
General = {
|
General = {
|
||||||
ShowTerminal = true;
|
#ShowTerminal = true;
|
||||||
RememberOpenedTabs = false;
|
RememberOpenedTabs = false;
|
||||||
# ViewPropsTimestamp = "2024,8,12,15,7,43.15";
|
# ViewPropsTimestamp = "2024,8,12,15,7,43.15";
|
||||||
};
|
};
|
||||||
|
"MainWindow"."TerminalPanel Visible" = true;
|
||||||
# IconsMode.PreviewSize = 80;
|
# IconsMode.PreviewSize = 80;
|
||||||
# "KFileDialog Settings"."Places Icons Auto-resize" = false;
|
# "KFileDialog Settings"."Places Icons Auto-resize" = false;
|
||||||
# "KFileDialog Settings"."Places Icons Static Size" = 22;
|
# "KFileDialog Settings"."Places Icons Static Size" = 22;
|
||||||
@ -379,6 +404,7 @@
|
|||||||
kwinrc = {
|
kwinrc = {
|
||||||
# "Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
# "Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
||||||
# "Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
# "Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
||||||
|
"EdgeBarrier"."EdgeBarrier" = 15;
|
||||||
Desktops = {
|
Desktops = {
|
||||||
# Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
# Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
||||||
# Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc";
|
# Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc";
|
||||||
|
|||||||
@ -1,11 +1,16 @@
|
|||||||
{pkgs, inputs, username, project, plasmaTheme, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
plasma = {
|
plasma = {
|
||||||
overrideConfig = true;
|
|
||||||
|
|
||||||
panels = [
|
panels = [
|
||||||
{
|
{
|
||||||
|
screen = "all";
|
||||||
height = 44;
|
height = 44;
|
||||||
location = "bottom";
|
location = "bottom";
|
||||||
alignment = "center";
|
alignment = "center";
|
||||||
@ -21,7 +26,8 @@
|
|||||||
launchers = [
|
launchers = [
|
||||||
# optional pinned apps
|
# optional pinned apps
|
||||||
"applications:org.kde.dolphin.desktop"
|
"applications:org.kde.dolphin.desktop"
|
||||||
"applications:systemsettings.desktop""applications:kitty.desktop"
|
"applications:systemsettings.desktop"
|
||||||
|
"applications:kitty.desktop"
|
||||||
"applications:firefox.desktop"
|
"applications:firefox.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -104,7 +110,8 @@
|
|||||||
theme = "Win10OS-cursors";
|
theme = "Win10OS-cursors";
|
||||||
size = 24;
|
size = 24;
|
||||||
};
|
};
|
||||||
wallpaper = /home/${username}/${project}/other/wallpaper1.png;
|
# Do not use wallpaper option here as it causes issues! Use it in configFile
|
||||||
|
# wallpaper = /home/${username}/${project}/other/wallpaper1.png;
|
||||||
soundTheme = "ocean";
|
soundTheme = "ocean";
|
||||||
iconTheme = "We10X";
|
iconTheme = "We10X";
|
||||||
splashScreen = {
|
splashScreen = {
|
||||||
@ -115,6 +122,9 @@
|
|||||||
theme = "__aurorae__svg__Win11OS-dark";
|
theme = "__aurorae__svg__Win11OS-dark";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
configFile = {
|
||||||
|
plasmarc.Wallpapers.usersWallpapers = "/home/cookiez/NixOS/other/wallpaper1.png";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,16 @@
|
|||||||
{pkgs, inputs, username, project, plasmaTheme, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
plasma = {
|
plasma = {
|
||||||
overrideConfig = true;
|
|
||||||
|
|
||||||
panels = [
|
panels = [
|
||||||
{
|
{
|
||||||
|
screen = "all";
|
||||||
height = 44;
|
height = 44;
|
||||||
location = "top";
|
location = "top";
|
||||||
alignment = "center";
|
alignment = "center";
|
||||||
@ -111,13 +115,13 @@
|
|||||||
launchers = [
|
launchers = [
|
||||||
# optional pinned apps
|
# optional pinned apps
|
||||||
"applications:org.kde.dolphin.desktop"
|
"applications:org.kde.dolphin.desktop"
|
||||||
"applications:systemsettings.desktop""applications:kitty.desktop"
|
"applications:systemsettings.desktop"
|
||||||
|
"applications:kitty.desktop"
|
||||||
"applications:firefox.desktop"
|
"applications:firefox.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -129,7 +133,8 @@
|
|||||||
theme = "Breeze_Light";
|
theme = "Breeze_Light";
|
||||||
size = 24;
|
size = 24;
|
||||||
};
|
};
|
||||||
wallpaper = /home/${username}/${project}/other/wallpaper3.png;
|
# Do not use wallpaper option here as it causes issues! Use it in configFile
|
||||||
|
# wallpaper = /home/${username}/${project}/other/wallpaper3.png;
|
||||||
soundTheme = "freedesktop";
|
soundTheme = "freedesktop";
|
||||||
iconTheme = "Breeze-LaCapitaine-apps";
|
iconTheme = "Breeze-LaCapitaine-apps";
|
||||||
splashScreen = {
|
splashScreen = {
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
{pkgs, inputs, username, project, powerProfile, ...}:
|
{
|
||||||
let
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
powerProfile,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
profiles = {
|
profiles = {
|
||||||
laptop = {
|
laptop = {
|
||||||
AC.powerProfile = "powerSaving";
|
AC.powerProfile = "powerSaving";
|
||||||
@ -14,12 +20,9 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
selectedProfile = profiles.${powerProfile};
|
selectedProfile = profiles.${powerProfile};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs = {
|
programs = {
|
||||||
plasma = {
|
plasma = {
|
||||||
overrideConfig = true;
|
|
||||||
|
|
||||||
powerdevil = {
|
powerdevil = {
|
||||||
AC = {
|
AC = {
|
||||||
powerProfile = selectedProfile.AC.powerProfile;
|
powerProfile = selectedProfile.AC.powerProfile;
|
||||||
|
|||||||
Reference in New Issue
Block a user