Compare commits
18 Commits
de0d6b0d7e
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 63070a33c4 | |||
| 04e42db270 | |||
| 535a3e6d6e | |||
| 78eaa4674a | |||
| b4ae5a89aa | |||
| ee0447931e | |||
| 0b73b99654 | |||
| 438ce4c58e | |||
| 0b0634530f | |||
| 03a85fc670 | |||
| 2c218aef72 | |||
| 01af2f43ea | |||
| 5a61ac8367 | |||
| 421b9a7cd6 | |||
| 0a770e4094 | |||
| 8cfe8b7c6f | |||
| 497ca74787 | |||
| 83137ba3f3 |
Generated
+688
-32
@@ -1,5 +1,42 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778620495,
|
||||
"narHash": "sha256-Gu7UhWjwKCgSiVC3Qz/Rc7cYi9DNuDTBxYzg3kfLvfM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "be35f75ac305f430f5f9d89b5f5a4af59ca7567e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"bcdl-free": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
@@ -33,7 +70,44 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
@@ -71,7 +145,7 @@
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -87,6 +161,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gsr-ui": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
@@ -95,11 +192,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785085647,
|
||||
"narHash": "sha256-VerKUIpQHGnXgpmRXzh767X0BJNjpACWdVp391t8n1s=",
|
||||
"lastModified": 1785593957,
|
||||
"narHash": "sha256-16DqCLB7701mKEvsNCMNay/Mv69ZGvNnQ8nsvNQCdIQ=",
|
||||
"owner": "rPlakama",
|
||||
"repo": "gsr-ui-nix",
|
||||
"rev": "1f9a46bcdde0e805ced86a0e995f1449f8f7a12f",
|
||||
"rev": "c1ac4ac2fd962b7c985edb1e420bdc5b3dce56f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -115,11 +212,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785306346,
|
||||
"narHash": "sha256-DScBkW0fOgpGPK2trNoX3ryLTlaC14+gglFo/BhGJ4g=",
|
||||
"lastModified": 1785531816,
|
||||
"narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e705714e918c3b11affcdd15db2cbe3a070420a0",
|
||||
"rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -149,10 +246,380 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776511930,
|
||||
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776426399,
|
||||
"narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-guiutils": "hyprland-guiutils",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"hyprwire": "hyprwire",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems_2",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779392427,
|
||||
"narHash": "sha256-0SiD8JBx6cU0KL1XjLMsR/nSZB5XY3uhrNnvfxH0CtY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "8b7110cc68662a343b6839f292ac0f44a64c3364",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-guiutils": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprgraphics": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprgraphics"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprtoolkit": "hyprtoolkit",
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776426575,
|
||||
"narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"rev": "a968d211048e3ed538e47b84cb3649299578f19d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772460177,
|
||||
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777320127,
|
||||
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprsplit": {
|
||||
"inputs": {
|
||||
"hyprland": "hyprland",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781205112,
|
||||
"narHash": "sha256-PaoUtmk+qIP/ESdxkxnY7mUMpMHjix88qu22R5GLQqE=",
|
||||
"owner": "shezdy",
|
||||
"repo": "hyprsplit",
|
||||
"rev": "6b00b677d8905fb38779c91e12d6294e0e586a44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "shezdy",
|
||||
"repo": "hyprsplit",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprtoolkit": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprgraphics": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprgraphics"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772462885,
|
||||
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778234770,
|
||||
"narHash": "sha256-jAcsogZwWMfXT9MfXxZzkwliAqIuZUV0p71h6Ba9ReE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "a2dbd8a4cc51f7cbe4224732668392bb1aa79df2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777159683,
|
||||
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwire": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778410714,
|
||||
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"millennium": {
|
||||
"inputs": {
|
||||
"millennium-src": "millennium-src",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"dir": "packages/nix",
|
||||
@@ -187,13 +654,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1767983141,
|
||||
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gmodena",
|
||||
"ref": "latest",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1785350410,
|
||||
"narHash": "sha256-wXYrsdit8Z54aOAUf7/83LDhkY9+RgSuFBO/rFJeHb8=",
|
||||
"lastModified": 1785698632,
|
||||
"narHash": "sha256-wIfKcnvpkHUQBdR/aokjRO9T/L9gzNKYcVR6Qu7Rmzk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "00d4d9bc4d406965d1e0081300dd8c854fd4ba11",
|
||||
"rev": "5b04e91630b267d6493a88e634bc235cdaad2720",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -218,6 +701,38 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1778443072,
|
||||
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1778869304,
|
||||
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d233902339c02a9c334e7e593de68855ad26c4cb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1781577229,
|
||||
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||
@@ -233,13 +748,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1785332987,
|
||||
"narHash": "sha256-Eiw4ie++bC7tDWyBEZmcbEeKv1xv0UAihkVTjD4C5VM=",
|
||||
"lastModified": 1785698632,
|
||||
"narHash": "sha256-wIfKcnvpkHUQBdR/aokjRO9T/L9gzNKYcVR6Qu7Rmzk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "97478ef76c1f4c40b12fd4a42c1feba41e60650d",
|
||||
"rev": "5b04e91630b267d6493a88e634bc235cdaad2720",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -248,7 +763,23 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1784555310,
|
||||
"narHash": "sha256-/FCliTPgiuV1owejZFNx3Ch9irdvkOfOFl+HHZ+DrtM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "421eebfd0ec7bccd4abe826ce62d7e6e83129493",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1767026758,
|
||||
"narHash": "sha256-7fsac/f7nh/VaKJ/qm3I338+wAJa/3J57cOGpXi0Sbg=",
|
||||
@@ -264,7 +795,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1783279667,
|
||||
"narHash": "sha256-/NAkDSsve+GNM0Bt6tleJdCGfsTlK89nPjkVOzZMo0s=",
|
||||
@@ -280,7 +811,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1784007870,
|
||||
"narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=",
|
||||
@@ -296,13 +827,60 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785527278,
|
||||
"narHash": "sha256-rYFSM491MFFA1V6oax5PngXbevGt6n0o8sKhwFoItE0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "a19efae6c1afe426e8243d79f6dfbab186be6df8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778507602,
|
||||
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"bcdl-free": "bcdl-free",
|
||||
"gsr-ui": "gsr-ui",
|
||||
"home-manager": "home-manager",
|
||||
"hyprsplit": "hyprsplit",
|
||||
"millennium": "millennium",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixvim": "nixvim",
|
||||
"sls-steam": "sls-steam",
|
||||
"xremap-flake": "xremap-flake",
|
||||
"yazi": "yazi",
|
||||
@@ -337,11 +915,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785275929,
|
||||
"narHash": "sha256-3IbhTuHEqh2tokPGNKnv6x0HcsjOu3hk1MbLYRtzyRQ=",
|
||||
"lastModified": 1785594941,
|
||||
"narHash": "sha256-hnbTg0PQYnQx9w/UxVxXRF26srIrSUKVE6rO/uQ/nSo=",
|
||||
"owner": "AceSLS",
|
||||
"repo": "SLSsteam",
|
||||
"rev": "1906382a482f35b2bc9b124f3849538ab432e4f3",
|
||||
"rev": "7cf66365ea533d9fa1ee642a451fbff3f65f4200",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -366,6 +944,37 @@
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1774449309,
|
||||
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"ref": "future-26.11",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
@@ -380,6 +989,53 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprsplit",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778265244,
|
||||
"narHash": "sha256-8jlPtGSsv/CQY6tVVyLF4Jjd0gnS+Zbn9yk/V13A9nM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "813ea5ca9a1702a9a2d1f5836bc00172ef698968",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xremap": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -400,8 +1056,8 @@
|
||||
"xremap-flake": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"xremap": "xremap"
|
||||
},
|
||||
"locked": {
|
||||
@@ -421,15 +1077,15 @@
|
||||
"yazi": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785301727,
|
||||
"narHash": "sha256-Z9g04KWv8aEowWW+QIiADE6ct36oIZmrykTzEh5sQ4M=",
|
||||
"lastModified": 1785650918,
|
||||
"narHash": "sha256-MicAaPMrueLTI2D2HmXttbhTHeHW3wBIGnYzzueOg68=",
|
||||
"owner": "sxyazi",
|
||||
"repo": "yazi",
|
||||
"rev": "319f90e0eab185a231eef5562215ba322e320286",
|
||||
"rev": "bfa01e56da0b7ab63161bd9605cb77000e864603",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -441,14 +1097,14 @@
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785224333,
|
||||
"narHash": "sha256-8DNJUVM10ktK02V9ZIV064CH+fuPF272VCAZBn6arig=",
|
||||
"lastModified": 1785652409,
|
||||
"narHash": "sha256-0273OvIPfkJcdv0+Z3iPL8+eSRavAwGRCnr+Y6tRjYY=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "5f1a4be4d280e1ae06d61a75775a234b1714da3f",
|
||||
"rev": "12224626d0d1cead79603f19601666360c715379",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -9,15 +9,18 @@
|
||||
url = "github:AceSLS/SLSsteam";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||
xremap-flake.url = "github:xremap/nix-flake";
|
||||
yazi.url = "github:sxyazi/yazi";
|
||||
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
|
||||
gsr-ui = {
|
||||
url = "github:rPlakama/gsr-ui-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||
xremap-flake.url = "github:xremap/nix-flake";
|
||||
yazi.url = "github:sxyazi/yazi";
|
||||
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
|
||||
bcdl-free.url = "git+https://git.pizzasucht.net/KeksNino/free-bandcamp-downloader";
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
hyprsplit.url = "github:shezdy/hyprsplit";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -31,22 +34,33 @@
|
||||
millennium,
|
||||
gsr-ui,
|
||||
bcdl-free,
|
||||
nixvim,
|
||||
hyprsplit,
|
||||
nix-flatpak,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
{
|
||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
nixosConfigurations.nixos-desktop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit sls-steam;
|
||||
inherit
|
||||
sls-steam
|
||||
bcdl-free
|
||||
xremap-flake
|
||||
system
|
||||
nixvim
|
||||
nix-flatpak
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
./hosts/desktop/configuration.nix
|
||||
./hosts/desktop/hardware-configuration.nix
|
||||
./modules/common.nix
|
||||
./modules/desktop/xremap.nix
|
||||
./modules/desktop/flatpak.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
xremap-flake.nixosModules.default
|
||||
gsr-ui.nixosModules.default
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
@@ -54,55 +68,35 @@
|
||||
millennium.overlays.default
|
||||
];
|
||||
|
||||
environment.systemPackages = [ bcdl-free.packages.${system}.default ];
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.user = import ./home-manager/home.nix;
|
||||
home-manager.users.user = import ./hosts/desktop/home-manager/home.nix;
|
||||
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit zen-browser;
|
||||
inherit zen-browser hyprsplit;
|
||||
};
|
||||
|
||||
home-manager.backupFileExtension = "backup";
|
||||
|
||||
programs.gpu-screen-recorder = {
|
||||
package = gsr-ui.packages.${system}.gpu-screen-recorder;
|
||||
enable = true;
|
||||
ui.enable = true;
|
||||
};
|
||||
|
||||
# xremap
|
||||
services.xremap.enable = true;
|
||||
services.xremap.withHypr = true;
|
||||
|
||||
services.xremap.config.modmap = [
|
||||
{
|
||||
name = "Global";
|
||||
remap = {
|
||||
"CapsLock" = "Esc";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
services.xremap.config.keymap = [
|
||||
{
|
||||
name = "curly braces";
|
||||
remap = {
|
||||
"KEY_SEMICOLON" = "RIGHTALT-KEY_7";
|
||||
}; # ä -> }
|
||||
remap = {
|
||||
"KEY_APOSTROPHE" = "RIGHTALT-KEY_0";
|
||||
}; # ö -> {
|
||||
remap = {
|
||||
"RIGHTALT-KEY_A" = "KEY_APOSTROPHE";
|
||||
}; # altgr + a -> ä
|
||||
remap = {
|
||||
"RIGHTALT-KEY_W" = "KEY_SEMICOLON";
|
||||
}; # altgr + w -> ö
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
nixosConfigurations.music-server = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
bcdl-free
|
||||
system
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
./hosts/music-server/configuration.nix
|
||||
./hosts/music-server/hardware-configuration.nix
|
||||
./modules/common.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.users.user = import ./hosts/music-server/home-manager/home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
cpuid-fault-emulation = pkgs.callPackage ./pkgs/cpuid-fault-emulation {
|
||||
cpuid-fault-emulation = pkgs.callPackage ../../pkgs/cpuid-fault-emulation {
|
||||
kernel = config.boot.kernelPackages.kernel;
|
||||
};
|
||||
in
|
||||
@@ -15,51 +15,11 @@ in
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./packages.nix
|
||||
./drives.nix
|
||||
../../modules/scripts.nix
|
||||
../../modules/programs/neovim/neovim.nix
|
||||
];
|
||||
|
||||
# DISKS
|
||||
fileSystems."/media/gamedisk4" = {
|
||||
device = "/dev/disk/by-uuid/D290EB87C8A1E82A";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk" = {
|
||||
device = "/dev/disk/by-uuid/5C7C14707C1446E4";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk2" = {
|
||||
device = "/dev/disk/by-uuid/945A7421DAD8A3CE";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
@@ -86,6 +46,11 @@ in
|
||||
hardware.graphics.enable32Bit = true;
|
||||
services.hardware.openrgb.enable = true;
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = false;
|
||||
};
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "nodev";
|
||||
@@ -103,7 +68,7 @@ in
|
||||
'')
|
||||
];
|
||||
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
networking.hostName = "nixos-desktop";
|
||||
networking.firewall.enable = false;
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
@@ -136,6 +101,7 @@ in
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
"audio"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
@@ -148,35 +114,22 @@ in
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
# environment.loginShellInit = ''
|
||||
# if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ]; then
|
||||
# exec start-hyprland
|
||||
# fi
|
||||
# '';
|
||||
|
||||
# NFS / MPD
|
||||
fileSystems."/media/music" = {
|
||||
device = "192.168.132.149:/media/music";
|
||||
fsType = "nfs4";
|
||||
};
|
||||
boot.supportedFilesystems = [ "nfs4" ];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
style = "breeze";
|
||||
};
|
||||
# qt = {
|
||||
# enable = true;
|
||||
# platformTheme = "qt5ct";
|
||||
# style = "breeze";
|
||||
# };
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
services.goxlr-utility.enable = true;
|
||||
services.flatpak.enable = true;
|
||||
services.lact.enable = true;
|
||||
services.rsync.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
programs.tmux.enable = true;
|
||||
programs.bat.enable = true;
|
||||
programs.nh.enable = true;
|
||||
programs.git = {
|
||||
enable = true;
|
||||
config = {
|
||||
@@ -202,13 +155,20 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
flake = "/home/user/nix-config";
|
||||
};
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||
package = pkgs.millennium-steam.override {
|
||||
extraEnv = {
|
||||
LD_AUDIT = "${sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam}/library-inject.so:${
|
||||
@@ -231,16 +191,26 @@ in
|
||||
libxkbcommon # libxkbcommon.so.0
|
||||
libx11 # libX11.so.6
|
||||
wayland
|
||||
krb5
|
||||
]);
|
||||
};
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
services.pipewire.extraConfig.pipewire."92-clock-quantum" = {
|
||||
"context.properties" = {
|
||||
"default.clock.quantum" = 2048;
|
||||
"default.clock.min-quantum" = 256;
|
||||
"default.clock.max-quantum" = 4096;
|
||||
};
|
||||
};
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@users";
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
boot.supportedFilesystems = [
|
||||
"ntfs"
|
||||
"nfs4"
|
||||
];
|
||||
|
||||
fileSystems."/media/music" = {
|
||||
device = "192.168.132.149:/media/music";
|
||||
fsType = "nfs4";
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk" = {
|
||||
device = "/dev/disk/by-uuid/5C7C14707C1446E4";
|
||||
fsType = "ntfs-3g";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk2" = {
|
||||
device = "/dev/disk/by-uuid/945A7421DAD8A3CE";
|
||||
fsType = "ntfs-3g";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk3" = {
|
||||
device = "/dev/disk/by-uuid/420E457E60DE3935";
|
||||
fsType = "ntfs-3g";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk4" = {
|
||||
device = "/dev/disk/by-uuid/D290EB87C8A1E82A";
|
||||
fsType = "ntfs-3g";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -38,12 +38,6 @@
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk4" = {
|
||||
device = "/dev/disk/by-uuid/D290EB87C8A1E82A";
|
||||
fsType = "ntfs3";
|
||||
};
|
||||
|
||||
fileSystems."/media/music" = {
|
||||
device = "192.168.132.149:/media/music";
|
||||
fsType = "nfs4";
|
||||
@@ -54,11 +48,6 @@
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk" = {
|
||||
device = "/dev/disk/by-uuid/5C7C14707C1446E4";
|
||||
fsType = "ntfs3";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/5949c73f-30eb-4956-9e93-70301c88fad8"; }
|
||||
];
|
||||
@@ -7,6 +7,8 @@
|
||||
{
|
||||
imports = [
|
||||
./mpd.nix
|
||||
./programs.nix
|
||||
../../../modules/fish.nix
|
||||
zen-browser.homeModules.beta
|
||||
];
|
||||
|
||||
@@ -24,6 +26,7 @@
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"application/zip" = [ "org.gnome.FileRoller.desktop" ];
|
||||
"inode/directory" = [ "nemo.desktop" ];
|
||||
"image/*" = [ "imv-dir.desktop" ];
|
||||
"image/gif" = [ "imv-dir.desktop" ];
|
||||
@@ -37,7 +40,6 @@
|
||||
settings = {
|
||||
"org/cinnamon/desktop/applications/terminal" = {
|
||||
exec = "kitty";
|
||||
# exec-arg = ""; # argument
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -55,12 +57,6 @@
|
||||
setAsDefaultBrowser = true;
|
||||
};
|
||||
|
||||
programs.yazi.enable = true;
|
||||
programs.yazi.enableFishIntegration = true;
|
||||
|
||||
programs.fzf.enable = true;
|
||||
programs.fzf.enableFishIntegration = true;
|
||||
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
@@ -71,14 +67,6 @@
|
||||
];
|
||||
};
|
||||
|
||||
programs.pywal = {
|
||||
enable = true;
|
||||
package = pkgs.pywal16;
|
||||
};
|
||||
|
||||
programs.lazygit.enable = true;
|
||||
programs.lazygit.enableFishIntegration = true;
|
||||
|
||||
programs.rbw = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -88,31 +76,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
programs.distrobox.enable = true;
|
||||
services.podman.enable = true;
|
||||
|
||||
programs.rofi.enable = true;
|
||||
programs.rofi.plugins = [ pkgs.rofi-calc ];
|
||||
|
||||
services.polkit-gnome.enable = true;
|
||||
services.cliphist.enable = true;
|
||||
programs.btop.enable = true;
|
||||
services.udiskie.enable = true;
|
||||
programs.cava.enable = true;
|
||||
programs.equibop.enable = true;
|
||||
services.awww.enable = true;
|
||||
services.mpdris2.enable = true;
|
||||
programs.fastfetch.enable = true;
|
||||
programs.prismlauncher.enable = true;
|
||||
programs.fd.enable = true;
|
||||
programs.uv.enable = true;
|
||||
programs.satty.enable = true;
|
||||
programs.mpvpaper.enable = true;
|
||||
programs.obsidian.enable = true;
|
||||
programs.gcc.enable = true;
|
||||
programs.mpv.enable = true;
|
||||
programs.imv.enable = true;
|
||||
programs.aria2.enable = true;
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -144,35 +107,6 @@
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
nitch
|
||||
set -g fish_key_bindings fish_hybrid_key_bindings
|
||||
set fish_greeting
|
||||
'';
|
||||
shellAliases = {
|
||||
ls = "eza -al --no-time --no-user --no-permissions --no-filesize";
|
||||
ll = "eza -la";
|
||||
cat = "bat";
|
||||
cd = "z";
|
||||
cp = "cp -v";
|
||||
ff = "fastfetch";
|
||||
grep = "grep -i";
|
||||
hyprland = "start-hyprland";
|
||||
mv = "mv -v";
|
||||
n = "nvim";
|
||||
py = "uv run";
|
||||
r = "rsync -avh --info=progress2";
|
||||
rm = "gomi";
|
||||
ssh = "kitty +kitten ssh";
|
||||
nd = "nix develop";
|
||||
};
|
||||
};
|
||||
|
||||
programs.zoxide.enable = true;
|
||||
programs.zoxide.enableFishIntegration = true;
|
||||
|
||||
home.file.".local/share/Steam/steam.cfg".text = ''
|
||||
BootStrapperInhibitAll=enable
|
||||
BootStrapperForceSelfUpdate=disable
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
imports = [
|
||||
./general.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
{ hyprsplit, ... }:
|
||||
|
||||
let
|
||||
# Replace these with your pywal colors or import them from another file.
|
||||
# wal = {
|
||||
# color11 = "#...";
|
||||
# color14 = "#...";
|
||||
# };
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
|
||||
device = [
|
||||
{
|
||||
name = "glorious-model-o-wireless";
|
||||
sensitivity = -1.0;
|
||||
}
|
||||
];
|
||||
|
||||
config = {
|
||||
input = {
|
||||
kb_layout = "de";
|
||||
follow_mouse = 1;
|
||||
repeat_delay = 300;
|
||||
repeat_rate = 35;
|
||||
scroll_factor = 1.3;
|
||||
sensitivity = -1.0;
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 4;
|
||||
gaps_out = 12;
|
||||
border_size = 2;
|
||||
|
||||
# "col.active_border" = "rgb(${wal.color11}) rgb(${wal.color14}) 45deg";
|
||||
# "col.active_border" = "rgba(80808077) rgba(80808077) 45deg";
|
||||
|
||||
# "col.inactive_border" = "rgba(80808077) rgba(80808077) 45deg";
|
||||
|
||||
resize_on_border = false;
|
||||
allow_tearing = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 2;
|
||||
|
||||
active_opacity = 0.65;
|
||||
inactive_opacity = 0.65;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 50;
|
||||
render_power = 4;
|
||||
color = "0xaf1a1a1a";
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 4;
|
||||
brightness = 0.473;
|
||||
contrast = 1.0;
|
||||
vibrancy = 0.1696;
|
||||
vibrancy_darkness = 0.2;
|
||||
ignore_opacity = true;
|
||||
popups = true;
|
||||
};
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
new_on_top = true;
|
||||
mfact = 0.5;
|
||||
orientation = "center";
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = 0;
|
||||
disable_hyprland_logo = true;
|
||||
enable_anr_dialog = false;
|
||||
};
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
};
|
||||
|
||||
# animations = {
|
||||
# enabled = false;
|
||||
# };
|
||||
|
||||
# bezier = [
|
||||
# "md3_standard,0.2,0,0,1"
|
||||
# "md3_decel,0.05,0.7,0.1,1"
|
||||
# "md3_accel,0.3,0,0.8,0.15"
|
||||
# "overshot,0.05,0.9,0.1,1.02"
|
||||
#
|
||||
# # Hyprland supports spring curves as strings.
|
||||
# "spring_snappy,1,80,16"
|
||||
#
|
||||
# "weighted_decel,0.05,0.9,0.1,1"
|
||||
# "snap_curve,0.1,1,0,1"
|
||||
# "winIn,0.1,1,0.1,1"
|
||||
# "winOut,0.1,1,0.1,1"
|
||||
# ];
|
||||
#
|
||||
# animation = [
|
||||
# "windows,1,4,spring_snappy"
|
||||
# "windowsIn,1,3,md3_decel,popin 70%"
|
||||
# "windowsOut,1,4,md3_accel,popin 70%"
|
||||
# "windowsMove,1,4,overshot"
|
||||
#
|
||||
# "fade,1,3,md3_decel"
|
||||
#
|
||||
# "layers,1,4.5,md3_standard,fade"
|
||||
# "layersIn,1,4.5,winIn,slide"
|
||||
# "layersOut,1,5,winOut,slide"
|
||||
#
|
||||
# "workspaces,1,5,md3_decel,slide"
|
||||
# "workspacesIn,1,7,winIn,slide"
|
||||
# "workspacesOut,1,7,winOut,slide"
|
||||
#
|
||||
# "specialWorkspace,1,4,winIn,slidevert"
|
||||
# ];
|
||||
};
|
||||
|
||||
extraLuaFiles = {
|
||||
# create a symlink to `.config/hypr/hyprsplit/init.lua`.
|
||||
"hyprsplit/init" = {
|
||||
autoLoad = false;
|
||||
content = builtins.readFile "${hyprsplit}/init.lua";
|
||||
};
|
||||
# Finally, use it directly in Lua.
|
||||
"hyprload" = {
|
||||
autoLoad = true;
|
||||
content = ''
|
||||
local hs = require("hyprsplit")
|
||||
hs.config({ num_workspaces = 10 })
|
||||
|
||||
local mod = "SUPER"
|
||||
|
||||
for i = 1, 10 do
|
||||
local key = (i == 10) and "0" or tostring(i)
|
||||
hl.bind(mod .. " + " .. key, hs.dsp.focus({ workspace = i }))
|
||||
hl.bind(mod .. " + " .. key, hs.dsp.window.move({ workspace = i }))
|
||||
hl.bind("SUPER + " .. key, hs.dsp.focus({ workspace = i }))
|
||||
hl.bind("SUPER + SHIFT + " .. key, hs.dsp.window.move({ workspace = i, follow = true }))
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
hl.monitor({ output = "DP-1", mode = "1920x1080@60", position = "3840x0", scale = "auto" })
|
||||
hl.monitor({ output = "DP-2", mode = "1920x1080@144", position = "1920x0", scale = "auto", bitdepth = 10 })
|
||||
hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "0x0", scale = "auto" })
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
window_rule = [
|
||||
# -----------------
|
||||
# Workspace
|
||||
# -----------------
|
||||
"workspace 24,title:^(rmpc)$"
|
||||
"workspace 10,class:^(equibop)$"
|
||||
|
||||
"monitor DP-1,title:^(rmpc)$"
|
||||
"monitor DP-1,class:^(equibop)$"
|
||||
|
||||
# -----------------
|
||||
# Windows
|
||||
# -----------------
|
||||
"opacity 1 0.999999,class:^(mpv)$"
|
||||
"opacity 0.99 override 0.99 override,class:^(obsidian)$"
|
||||
|
||||
# -----------------
|
||||
# Floating
|
||||
# -----------------
|
||||
"float,class:^(imv)$"
|
||||
"float,class:^(nemo)$"
|
||||
"float,class:.*,title:^(Open File.*)$"
|
||||
"float,title:^(Picture-in-Picture)$"
|
||||
"float,class:^(rofi)$"
|
||||
"float,class:^(xdg-desktop-portal-gtk)$"
|
||||
"float,title:^(Steam Settings)$"
|
||||
"float,title:^(Friends List)$"
|
||||
"float,title:^(nvim)$"
|
||||
"float,class:^(org.gnome.FileRoller)$"
|
||||
"float,class:^(org.gnome.Decibels)$"
|
||||
"float,class:^(neovide)$"
|
||||
"float,class:^(org.prismlauncher.PrismLauncher)$"
|
||||
"float,class:^(feh)$"
|
||||
"float,class:^(com.github.aliencoweatcake.imageviewer)$"
|
||||
"float,class:^(waypaper)$"
|
||||
|
||||
# -----------------
|
||||
# Scrolling
|
||||
# -----------------
|
||||
"scrollmouse 1.0,class:^(Minecraft.*)$"
|
||||
"scrollmouse 1.0,class:^(Lunar.*)$"
|
||||
"scrollmouse 1.0,class:^(LiquidBounce.*)$"
|
||||
"scrollmouse 1.0,class:^(Nomifactory.*)$"
|
||||
"scrollmouse 1.0,class:^(GT.*)$"
|
||||
|
||||
# -----------------
|
||||
# Center
|
||||
# -----------------
|
||||
"center,class:^(imv)$"
|
||||
"center,class:^(nemo)$"
|
||||
"center,class:^(org.prismlauncher.PrismLauncher)$"
|
||||
|
||||
# -----------------
|
||||
# Size
|
||||
# -----------------
|
||||
"size 1200 700,class:^(imv)$"
|
||||
"size 1200 700,class:^(nemo)$"
|
||||
"size 1200 700,title:^(nvim)$"
|
||||
"size 1200 700,class:^(org.gnome.Decibels)$"
|
||||
"size 1200 700,class:^(neovide)$"
|
||||
"size 1200 700,class:^(org.prismlauncher.PrismLauncher)$"
|
||||
"size 1200 700,class:^(waypaper)$"
|
||||
|
||||
"suppressevent maximize,class:.*"
|
||||
|
||||
# -----------------
|
||||
# Opaque
|
||||
# -----------------
|
||||
"opaque,class:^(kitty)$"
|
||||
"opaque,class:^(nemo)$"
|
||||
"opaque,class:^(virt-manager)$"
|
||||
"opaque,class:^(rofi)$"
|
||||
"opaque,class:^(looking-glass-client)$"
|
||||
"opaque,class:^(steam)$"
|
||||
"opaque,class:^(equibop)$"
|
||||
"opaque,initialtitle:^(Zen Browser)$"
|
||||
"opaque,class:^(org.qutebrowser.qutebrowser)$"
|
||||
"opaque,class:^(gimp)$"
|
||||
"opaque,class:^(discord)$"
|
||||
"opaque,class:^(librewolf)$"
|
||||
"opaque,class:^(imv)$"
|
||||
"opaque,class:^(org.gnome.Decibels)$"
|
||||
"opaque,class:^(neovide)$"
|
||||
"opaque,class:^(Tor Browser)$"
|
||||
"opaque,class:^(com.ayugram.desktop)$"
|
||||
"opaque,title:^(Software Manager)$"
|
||||
"opaque,class:^(waypaper)$"
|
||||
"opaque,class:^(mpv)$"
|
||||
"opaque,class:^(helium)$"
|
||||
"opaque,class:^(Spotify)$"
|
||||
|
||||
# -----------------
|
||||
# Kando
|
||||
# -----------------
|
||||
"noblur,class:^(kando)$"
|
||||
"opaque,class:^(kando)$"
|
||||
"size 100% 100%,class:^(kando)$"
|
||||
"bordersize 0,class:^(kando)$"
|
||||
"noanim,class:^(kando)$"
|
||||
"float,class:^(kando)$"
|
||||
"pin,class:^(kando)$"
|
||||
];
|
||||
|
||||
layerrule = [
|
||||
"blur,rofi"
|
||||
"noanim,hyprpicker"
|
||||
"noanim,selection"
|
||||
|
||||
"noscreenshare,notifications"
|
||||
"blur,notifications"
|
||||
"ignorealpha 1,notifications"
|
||||
|
||||
"blur,wofi"
|
||||
|
||||
"dimaround,rofi"
|
||||
|
||||
"noanim,^dms$"
|
||||
"noscreenshare,dms:notification-popup"
|
||||
|
||||
"noanim,noctalia-background-.*$"
|
||||
"ignorealpha 0.5,noctalia-background-.*$"
|
||||
"blur,noctalia-background-.*$"
|
||||
"blurpopups,noctalia-background-.*$"
|
||||
|
||||
"noscreenshare,noctalia-notifications-.*$"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.yazi.enable = true;
|
||||
programs.yazi.enableFishIntegration = true;
|
||||
|
||||
programs.fzf.enable = true;
|
||||
programs.fzf.enableFishIntegration = true;
|
||||
|
||||
programs.lazygit.enable = true;
|
||||
programs.lazygit.enableFishIntegration = true;
|
||||
|
||||
programs.zoxide.enable = true;
|
||||
programs.zoxide.enableFishIntegration = true;
|
||||
|
||||
programs.distrobox.enable = true;
|
||||
services.podman.enable = true;
|
||||
|
||||
programs.rofi.enable = true;
|
||||
programs.rofi.plugins = [ pkgs.rofi-calc ];
|
||||
|
||||
services.polkit-gnome.enable = true;
|
||||
services.cliphist.enable = true;
|
||||
programs.btop.enable = true;
|
||||
services.udiskie.enable = true;
|
||||
programs.cava.enable = true;
|
||||
programs.equibop.enable = true;
|
||||
services.awww.enable = true;
|
||||
services.mpdris2.enable = true;
|
||||
programs.fastfetch.enable = true;
|
||||
programs.prismlauncher.enable = true;
|
||||
programs.fd.enable = true;
|
||||
programs.uv.enable = true;
|
||||
programs.satty.enable = true;
|
||||
programs.mpvpaper.enable = true;
|
||||
programs.obsidian.enable = true;
|
||||
programs.gcc.enable = true;
|
||||
programs.mpv.enable = true;
|
||||
programs.imv.enable = true;
|
||||
programs.aria2.enable = true;
|
||||
programs.ripgrep.enable = true;
|
||||
|
||||
programs.pywal = {
|
||||
enable = true;
|
||||
package = pkgs.pywal16;
|
||||
};
|
||||
}
|
||||
@@ -30,7 +30,6 @@
|
||||
spek
|
||||
ffmpeg
|
||||
# wine
|
||||
ripgrep
|
||||
nemo-with-extensions
|
||||
papirus-icon-theme
|
||||
rust-analyzer
|
||||
@@ -59,6 +58,11 @@
|
||||
losslesscut
|
||||
tree
|
||||
stow
|
||||
bluetui
|
||||
file-roller
|
||||
signal-desktop
|
||||
file
|
||||
ntfs3g
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./packages.nix
|
||||
../../modules/server
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
fileSystems."/media/music" = {
|
||||
device = "/dev/disk/by-uuid/8e6ae06e-a4b5-4ac8-ad15-cb288b14715f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/home/user/backup" = {
|
||||
device = "/dev/disk/by-uuid/db7d96f1-5c72-42dc-abc1-00de9b73f017";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
networking.hostId = "6054e036";
|
||||
networking.hostName = "nixos-music";
|
||||
networking.networkmanager.enable = true;
|
||||
networking.firewall.enable = true;
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "de";
|
||||
};
|
||||
|
||||
programs.fish.enable = true;
|
||||
users.users.user = {
|
||||
isNormalUser = true;
|
||||
description = "user";
|
||||
uid = 1000;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
clean.enable = true;
|
||||
flake = "/home/user/nix-config";
|
||||
};
|
||||
|
||||
services.tailscale.enable = true;
|
||||
services.rsync.enable = true;
|
||||
programs.nix-ld.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
programs.tmux.enable = true;
|
||||
programs.bat.enable = true;
|
||||
programs.git = {
|
||||
enable = true;
|
||||
config = {
|
||||
user = {
|
||||
name = "KeksNino";
|
||||
email = "KeksNino@proton.me";
|
||||
};
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
push = {
|
||||
autoSetupRemote = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "no";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "26.05";
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"uas"
|
||||
"sd_mod"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "zpool/root";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/var" = {
|
||||
device = "zpool/var";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "zpool/nix";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "zpool/home";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/FCFD-4472";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0022"
|
||||
"dmask=0022"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
programs.beets.enable = true;
|
||||
|
||||
# programs.beets.package = pkgs.beets.override {
|
||||
# pluginOverrides = {
|
||||
# filetote = {
|
||||
# enable = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
programs.beets.settings = {
|
||||
directory = "/home/user/Music/Tracks";
|
||||
|
||||
plugins = [
|
||||
"fetchart"
|
||||
"badfiles"
|
||||
"edit"
|
||||
"fish"
|
||||
"hook"
|
||||
"info"
|
||||
"missing"
|
||||
];
|
||||
|
||||
import = {
|
||||
copy = false;
|
||||
move = false;
|
||||
autotag = true;
|
||||
write = false;
|
||||
};
|
||||
|
||||
paths = {
|
||||
default = "$albumartist/$album/$track. $artist - $title";
|
||||
};
|
||||
|
||||
fetchart = {
|
||||
auto = true;
|
||||
sources = [ "filesystem" ];
|
||||
};
|
||||
|
||||
badfiles = {
|
||||
check_on_import = true;
|
||||
};
|
||||
|
||||
hook = {
|
||||
hooks = [
|
||||
{
|
||||
event = "item_imported";
|
||||
command = "echo test";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
imports = [
|
||||
./beets.nix
|
||||
../../../modules/fish.nix
|
||||
];
|
||||
|
||||
home.username = "user";
|
||||
home.homeDirectory = "/home/user";
|
||||
|
||||
programs.yazi.enable = true;
|
||||
programs.yazi.enableFishIntegration = true;
|
||||
|
||||
programs.fzf.enable = true;
|
||||
programs.fzf.enableFishIntegration = true;
|
||||
|
||||
programs.zoxide.enable = true;
|
||||
programs.zoxide.enableFishIntegration = true;
|
||||
|
||||
programs.lazygit.enable = true;
|
||||
programs.lazygit.enableFishIntegration = true;
|
||||
|
||||
programs.gcc.enable = true;
|
||||
|
||||
programs.ripgrep.enable = true;
|
||||
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
git = true;
|
||||
icons = "always";
|
||||
extraOptions = [
|
||||
"-1"
|
||||
];
|
||||
};
|
||||
|
||||
programs.btop.enable = true;
|
||||
programs.fastfetch.enable = true;
|
||||
programs.fd.enable = true;
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
home.stateVersion = "26.05";
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{ pkgs, ... }: {
|
||||
|
||||
environment.systemPackages = (
|
||||
with pkgs;
|
||||
[
|
||||
wget
|
||||
nixfmt
|
||||
tree-sitter
|
||||
lsof
|
||||
exiftool
|
||||
trash-cli
|
||||
ffmpeg
|
||||
unzip
|
||||
scdl
|
||||
aria2
|
||||
nodejs
|
||||
gomi
|
||||
bun
|
||||
croc
|
||||
mp3val
|
||||
flac
|
||||
nitch
|
||||
(python314.withPackages (
|
||||
ps: with ps; [
|
||||
requests
|
||||
python-dotenv
|
||||
]
|
||||
))
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ system, bcdl-free, ... }:
|
||||
{
|
||||
environment.systemPackages = [ bcdl-free.packages.${system}.default ];
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.backupFileExtension = "backup";
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{ nix-flatpak, ... }:
|
||||
{
|
||||
imports = [
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
];
|
||||
|
||||
services.flatpak.remotes = [
|
||||
{
|
||||
name = "cloudredirect";
|
||||
location = "https://raw.githubusercontent.com/Selectively11/CloudRedirect/master/flatpak/cloudredirect.flatpakrepo";
|
||||
}
|
||||
{
|
||||
name = "flathub";
|
||||
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||
}
|
||||
];
|
||||
|
||||
services.flatpak.packages = [
|
||||
{
|
||||
appId = "org.cloudredirect.CloudRedirect";
|
||||
origin = "cloudredirect";
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{ xremap-flake, ... }:
|
||||
{
|
||||
imports = [
|
||||
xremap-flake.nixosModules.default
|
||||
];
|
||||
|
||||
services.xremap.enable = true;
|
||||
services.xremap.withHypr = true;
|
||||
|
||||
services.xremap.config.modmap = [
|
||||
{
|
||||
name = "Global";
|
||||
remap = {
|
||||
"CapsLock" = "Esc";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
services.xremap.config.keymap = [
|
||||
{
|
||||
name = "curly braces";
|
||||
remap = {
|
||||
"KEY_SEMICOLON" = "RIGHTALT-KEY_7";
|
||||
}; # ä -> }
|
||||
remap = {
|
||||
"KEY_APOSTROPHE" = "RIGHTALT-KEY_0";
|
||||
}; # ö -> {
|
||||
remap = {
|
||||
"RIGHTALT-KEY_A" = "KEY_APOSTROPHE";
|
||||
}; # altgr + a -> ä
|
||||
remap = {
|
||||
"RIGHTALT-KEY_W" = "KEY_SEMICOLON";
|
||||
}; # altgr + w -> ö
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
nitch
|
||||
set -g fish_key_bindings fish_hybrid_key_bindings
|
||||
set fish_greeting
|
||||
'';
|
||||
shellAliases = {
|
||||
ls = "eza -al --no-time --no-user --no-permissions --no-filesize";
|
||||
ll = "eza -la";
|
||||
cat = "bat";
|
||||
cd = "z";
|
||||
cp = "cp -v";
|
||||
ff = "fastfetch";
|
||||
grep = "grep -i";
|
||||
hyprland = "start-hyprland";
|
||||
mv = "mv -v";
|
||||
n = "nvim";
|
||||
py = "uv run";
|
||||
r = "rsync -avh --info=progress2";
|
||||
rm = "gomi";
|
||||
ssh = "kitty +kitten ssh";
|
||||
nd = "nix develop";
|
||||
df = "df -h -x tmpfs -x devtmpfs -x squashfs -x overlay -x efivarfs";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd>lua Snacks.explorer.open()<CR>";
|
||||
key = "<leader>e";
|
||||
}
|
||||
{
|
||||
action = "<cmd>lua Snacks.bufdelete()<CR>";
|
||||
key = "<C-q>";
|
||||
}
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"x"
|
||||
"o"
|
||||
];
|
||||
action = ''<cmd>lua require("flash").jump()<CR>'';
|
||||
key = "s";
|
||||
}
|
||||
{
|
||||
action = "<cmd>BufferLineCycleNext<CR>";
|
||||
key = "<tab>";
|
||||
}
|
||||
{
|
||||
action = "<cmd>BufferLineCyclePrev<CR>";
|
||||
key = "<S-tab>";
|
||||
}
|
||||
{
|
||||
mode = [ "x" ];
|
||||
action = "<gv";
|
||||
key = "<";
|
||||
}
|
||||
{
|
||||
mode = [ "x" ];
|
||||
action = ">gv";
|
||||
key = ">";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
action = ''"_d'';
|
||||
key = "d";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
action = ''"_dd'';
|
||||
key = "dd";
|
||||
}
|
||||
{
|
||||
mode = [ "v" ];
|
||||
action = ''"_d'';
|
||||
key = "d";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
action = "<cmd>Telescope live_grep<CR>";
|
||||
key = "<leader>rg";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
action = "<cmd>Telescope find_files<CR>";
|
||||
key = "<leader>ff";
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
action = "<cmd>:lua vim.diagnostic.open_float<CR>";
|
||||
key = "<leader>k";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
programs.nixvim.lsp = {
|
||||
servers = {
|
||||
lua_ls.enable = true;
|
||||
nixd = {
|
||||
enable = true;
|
||||
config = {
|
||||
settings = {
|
||||
nixd = {
|
||||
nixpkgs = {
|
||||
expr = ''import (builtins.getFlake "/home/user/nix-config").inputs.nixpkgs { }'';
|
||||
};
|
||||
formatting = {
|
||||
command = [ "nixfmt" ];
|
||||
};
|
||||
options = {
|
||||
nixos = {
|
||||
expr = ''(builtins.getFlake "/home/user/nix-config").nixosConfigurations.desktop.options'';
|
||||
};
|
||||
home_manager = {
|
||||
expr = ''(builtins.getFlake "/home/user/nix-config").nixosConfigurations.desktop.options.home-manager.users.type.getSubOptions []'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
nixvim,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
nixvim.nixosModules.nixvim
|
||||
./plugins
|
||||
./keymaps.nix
|
||||
./lsp.nix
|
||||
];
|
||||
|
||||
programs.nixvim = {
|
||||
enable = false;
|
||||
defaultEditor = true;
|
||||
|
||||
clipboard.register = "unnamedplus";
|
||||
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
expandtab = true;
|
||||
shiftwidth = 2;
|
||||
smartindent = true;
|
||||
tabstop = 2;
|
||||
softtabstop = 2;
|
||||
|
||||
showmode = false;
|
||||
|
||||
fillchars.eob = " ";
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
mouse = "a";
|
||||
};
|
||||
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
boole-nvim
|
||||
tokyodark-nvim
|
||||
];
|
||||
extraConfigLua = ''
|
||||
require('boole').setup({
|
||||
mappings = {
|
||||
-- increment = '<C-a>',
|
||||
decrement = '<C-x>'
|
||||
},
|
||||
allow_caps_additions = {
|
||||
{'enable', 'disable'},
|
||||
{'true', 'false'}
|
||||
}
|
||||
})
|
||||
|
||||
require('tokyodark').setup({
|
||||
gamma = 0.9,
|
||||
transparent_background = true,
|
||||
terminal_colors = false,
|
||||
custom_highlights = function(_, palette)
|
||||
return {
|
||||
["@variable"] = {
|
||||
fg = "#A0A8CD",
|
||||
},
|
||||
}
|
||||
end,
|
||||
})
|
||||
|
||||
vim.cmd.colorscheme("tokyodark")
|
||||
'';
|
||||
|
||||
plugins = {
|
||||
lualine.enable = true;
|
||||
bufferline = {
|
||||
enable = true;
|
||||
settings = {
|
||||
options = {
|
||||
show_buffer_close_icons = false;
|
||||
show_close_icon = false;
|
||||
themable = true;
|
||||
separator_style = "thin";
|
||||
indicator.style = "none";
|
||||
always_show_bufferline = false;
|
||||
color_icons = true;
|
||||
show_buffer_icons = true;
|
||||
};
|
||||
# highlights = {
|
||||
# fill.bg = "NONE";
|
||||
# separator.fg = "NONE";
|
||||
# separator_selected.fg = "NONE";
|
||||
# separator_visible.fg = "NONE";
|
||||
# };
|
||||
};
|
||||
};
|
||||
yazi.enable = true;
|
||||
cord = {
|
||||
enable = true;
|
||||
settings.display.theme = "atom";
|
||||
};
|
||||
neoscroll.enable = true;
|
||||
telescope = {
|
||||
enable = true;
|
||||
enabledExtensions = [ "persisted" ];
|
||||
};
|
||||
which-key.enable = true;
|
||||
flash.enable = true;
|
||||
lsp.enable = true;
|
||||
fugitive.enable = true;
|
||||
treesitter = {
|
||||
enable = true;
|
||||
highlight.enable = true;
|
||||
indent.enable = true;
|
||||
settings.ensure_installed = "all";
|
||||
};
|
||||
gitsigns.enable = true;
|
||||
nvim-autopairs = {
|
||||
enable = true;
|
||||
};
|
||||
cmp = {
|
||||
autoEnableSources = true;
|
||||
settings.sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "path"; }
|
||||
{ name = "buffer"; }
|
||||
];
|
||||
};
|
||||
persisted.enable = true;
|
||||
render-markdown.enable = true;
|
||||
oil = {
|
||||
enable = true;
|
||||
settings = {
|
||||
view_options = {
|
||||
show_hidden = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
colorizer.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.nixvim.extraPackages = with pkgs; [
|
||||
stylua
|
||||
nixfmt
|
||||
];
|
||||
|
||||
programs.nixvim.plugins = {
|
||||
conform-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format_on_save = ''
|
||||
function(bufnr)
|
||||
-- Disable "format_on_save lsp_fallback" for lanuages that don't
|
||||
-- have a well standardized coding style. You can add additional
|
||||
-- lanuages here or re-enable it for the disabled ones.
|
||||
local disable_filetypes = { c = true, cpp = true }
|
||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
||||
return nil
|
||||
else
|
||||
return {
|
||||
timeout_ms = 500,
|
||||
lsp_format = "fallback",
|
||||
}
|
||||
end
|
||||
end
|
||||
'';
|
||||
formatters_by_ft = {
|
||||
lua = [ "stylua" ];
|
||||
nix = [ "nixfmt" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
imports = [
|
||||
./snacks.nix
|
||||
./conform.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
snacks = {
|
||||
enable = true;
|
||||
settings = {
|
||||
bigfile.enabled = true;
|
||||
dashboard = {
|
||||
enabled = true;
|
||||
preset = {
|
||||
keys = [
|
||||
{
|
||||
icon = " ";
|
||||
key = "f";
|
||||
desc = "Find File";
|
||||
action = ":lua Snacks.dashboard.pick('files')";
|
||||
}
|
||||
{
|
||||
icon = " ";
|
||||
key = "n";
|
||||
desc = "New File";
|
||||
action = ":ene | startinsert";
|
||||
}
|
||||
{
|
||||
icon = " ";
|
||||
key = "g";
|
||||
desc = "Find Text";
|
||||
action = ":lua Snacks.dashboard.pick('live_grep')";
|
||||
}
|
||||
{
|
||||
icon = " ";
|
||||
key = "r";
|
||||
desc = "Recent Files";
|
||||
action = ":lua Snacks.dashboard.pick('oldfiles')";
|
||||
}
|
||||
{
|
||||
icon = " ";
|
||||
key = "c";
|
||||
desc = "Config";
|
||||
action = ":lua require('telescope.builtin').find_files({ cwd = '~/nix-config/modules/programs/neovim' })";
|
||||
}
|
||||
{
|
||||
icon = " ";
|
||||
key = "s";
|
||||
desc = "Restore Session";
|
||||
action = ":Telescope persisted";
|
||||
}
|
||||
{
|
||||
icon = " ";
|
||||
key = "q";
|
||||
desc = "Quit";
|
||||
action = ":qa";
|
||||
}
|
||||
];
|
||||
};
|
||||
sections = [
|
||||
{
|
||||
section = "header";
|
||||
gap = 2;
|
||||
}
|
||||
{
|
||||
section = "keys";
|
||||
gap = 1;
|
||||
padding = 1;
|
||||
}
|
||||
];
|
||||
};
|
||||
explorer = {
|
||||
enabled = true;
|
||||
auto_close = true;
|
||||
};
|
||||
indent.enabled = false;
|
||||
input.enabled = true;
|
||||
picker.enabled = true;
|
||||
notifier.enabled = true;
|
||||
quickfile.enabled = true;
|
||||
statuscolumn.enabled = true;
|
||||
words.enabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "scan" ''
|
||||
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.wav" -o -iname "*.aiff" \) -print0 |
|
||||
xargs -0 -P"$(nproc)" -I{} bash -c '
|
||||
if ffprobe -v quiet -show_entries format_tags \
|
||||
-of default=nw=1:nk=1 "$1" 2>/dev/null |
|
||||
grep -q -E "Visit https?://[^ ]+"; then
|
||||
echo "Match found in: $1"
|
||||
fi
|
||||
' _ {} | sort
|
||||
'')
|
||||
(pkgs.writeShellScriptBin "2scan" ''
|
||||
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.wav" -o -iname "*.aiff" \) -print0 |
|
||||
xargs -0 -P"$(nproc)" -I{} sh -c '
|
||||
if ! ffprobe -v quiet -show_entries format_tags \
|
||||
-of default=nw=1:nk=1 "$1" 2>/dev/null |
|
||||
grep -q -E "Visit https?://[^ ]+"; then
|
||||
echo "Match found in: $1"
|
||||
fi
|
||||
' _ {}
|
||||
'')
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
imports = [
|
||||
./slskd.nix
|
||||
./navidrome.nix
|
||||
./nfs.nix
|
||||
./services.nix
|
||||
./smb.nix
|
||||
./zfs.nix
|
||||
./firewall.nix
|
||||
../scripts.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
32895
|
||||
4533
|
||||
2049
|
||||
445
|
||||
5030
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
services.navidrome = {
|
||||
enable = true;
|
||||
user = "user";
|
||||
settings = {
|
||||
MusicFolder = "/home/user/Music";
|
||||
PlaylistsPath = "Playlists";
|
||||
Address = "0.0.0.0";
|
||||
ScanSchedule = "@every 24h";
|
||||
EnableInsightsCollector = false;
|
||||
Scanner.PurgeMissing = "always";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.navidrome.serviceConfig = {
|
||||
ProtectHome = lib.mkForce false;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
services.nfs.server = {
|
||||
enable = true;
|
||||
exports = {
|
||||
"/media/music" = {
|
||||
"192.168.132.0/24" = [
|
||||
"rw"
|
||||
"async"
|
||||
"no_subtree_check"
|
||||
"fsid=1"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
systemd.timers."bc-wishlist-scraper" = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "daily";
|
||||
Unit = "bc-wishlist-scraper.service";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services."bc-wishlist-scraper" = {
|
||||
script = ''
|
||||
${pkgs.bash}/bin/bash /home/user/bc-wishlist-scraper/run.sh
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.user.timers."scdl" = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "daily";
|
||||
Unit = "scdl.service";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services."scdl" = {
|
||||
script = ''
|
||||
cd ~/Music/scdl && ${pkgs.scdl}/bin/scdl me -f -c --download-archive archive.txt
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.slskd = {
|
||||
enable = true;
|
||||
environmentFile = /home/user/slskd_secrets;
|
||||
user = "user";
|
||||
settings = {
|
||||
remote_configuration = true;
|
||||
remote_file_management = true;
|
||||
directories = {
|
||||
downloads = "/media/music/Soulseek";
|
||||
};
|
||||
shares = {
|
||||
directories = [
|
||||
"/media/music/Tracks"
|
||||
"/media/music/Tracks2"
|
||||
"/media/music/samples"
|
||||
];
|
||||
};
|
||||
rooms = [
|
||||
"Rare Music"
|
||||
"nicotine"
|
||||
"! ! LGBTQ+ ! !"
|
||||
"lossless"
|
||||
"Linux"
|
||||
"Breakcore"
|
||||
"Jungle"
|
||||
];
|
||||
transfers = {
|
||||
upload = {
|
||||
speed_limit = 3700;
|
||||
};
|
||||
groups = {
|
||||
blacklisted = {
|
||||
members = [
|
||||
"relay"
|
||||
"smbd"
|
||||
];
|
||||
};
|
||||
user_defined = {
|
||||
my_buddies = {
|
||||
upload = {
|
||||
priority = 1;
|
||||
strategy = "firstinfirstout";
|
||||
slots = 1000;
|
||||
};
|
||||
members = [
|
||||
"noamifur"
|
||||
"mesityl"
|
||||
"diphenhydramine"
|
||||
"monfi"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
soulseek = {
|
||||
description = ''
|
||||
Fuck DRM. Fuck Spotify
|
||||
Discord: keksnino
|
||||
https://www.last.fm/user/KeksNino
|
||||
'';
|
||||
listen_port = 32895;
|
||||
};
|
||||
feature = {
|
||||
swagger = true;
|
||||
};
|
||||
integrations = {
|
||||
webhooks = {
|
||||
discord_relay = {
|
||||
call = {
|
||||
url = "http://localhost:5001/slskd_webhook";
|
||||
};
|
||||
on = [ "UploadFileComplete" ];
|
||||
timeout = 5000;
|
||||
retry = {
|
||||
attempts = 3;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
retention = {
|
||||
files = {
|
||||
incomplete = 20160;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.slskd-speed = {
|
||||
enable = true;
|
||||
description = "Soulseek True Speed Shower";
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
Environment = "PYTHONUNBUFFERED=1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 30;
|
||||
StandardOutput = "journal";
|
||||
StandardError = "journal";
|
||||
EnvironmentFile = "/home/user/slskd_secrets";
|
||||
ExecStart = ''
|
||||
${pkgs.python3}/bin/python3 /home/user/slskd-speed.py \
|
||||
-u "$SLSKD_SLSK_USERNAME" \
|
||||
-p "$SLSKD_SLSK_PASSWORD" \
|
||||
-s 30mbit/s \
|
||||
--slskd-url http://localhost:5030 \
|
||||
--slskd-key "$SLSKD_API_KEY" \
|
||||
--loop \
|
||||
--poll-interval 30 \
|
||||
--interval 900
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
services.samba = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
global = {
|
||||
"workgroup" = "WORKGROUP";
|
||||
"server string" = "smbnix";
|
||||
"security" = "user";
|
||||
"interfaces" = "lo eno1 tailscale0";
|
||||
"hosts allow" = "192.168.132.0/24 100.64.0.0/10 127.0.0.1 localhost";
|
||||
"hosts deny" = "0.0.0.0/0";
|
||||
"guest account" = "nobody";
|
||||
};
|
||||
"Music" = {
|
||||
"path" = "/media/music";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"valid users" = "user";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
zfsSupport = true;
|
||||
efiSupport = true;
|
||||
efiInstallAsRemovable = true;
|
||||
mirroredBoots = [
|
||||
{
|
||||
devices = [ "nodev" ];
|
||||
path = "/boot";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "zpool/root";
|
||||
fsType = "zfs";
|
||||
};
|
||||
fileSystems."/nix" = {
|
||||
device = "zpool/nix";
|
||||
fsType = "zfs";
|
||||
};
|
||||
fileSystems."/var" = {
|
||||
device = "zpool/var";
|
||||
fsType = "zfs";
|
||||
};
|
||||
fileSystems."/home" = {
|
||||
device = "zpool/home";
|
||||
fsType = "zfs";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/FCFD-4472";
|
||||
fsType = "vfat";
|
||||
};
|
||||
boot.zfs.forceImportRoot = false;
|
||||
services.zfs.autoScrub.enable = true;
|
||||
|
||||
swapDevices = [ ];
|
||||
}
|
||||
Reference in New Issue
Block a user