mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-08-21 10:45:49 +02:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f56bf4402c | |||
| 6953622559 | |||
| 5076c244db | |||
| 9a3fa6f4a9 | |||
| 735cd50059 | |||
| 663439dcdf | |||
| 61ecbdb8d3 | |||
| 3f67868830 | |||
| a50e14d04c | |||
| 40dea7c9bc | |||
| 6a2adfb338 | |||
| 2affa2a8ec | |||
| 60d850c2bc | |||
| 5d0ef403e3 | |||
| ac008183bd | |||
| a4b07fa578 |
@@ -10,3 +10,8 @@ creation_rules:
|
|||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *primary
|
- *primary
|
||||||
|
- path_regex: hosts/work/secrets/secrets.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *work
|
||||||
|
- *primary
|
||||||
|
|||||||
Generated
+27
-269
@@ -1,24 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"awesome-wallpapers": {
|
|
||||||
"inputs": {
|
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1786698894,
|
|
||||||
"narHash": "sha256-yZHP8Tqn/ClxwGCTsZnyT5HRFGRY0eeMWtlK43qJbtc=",
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "awesome-wallpapers",
|
|
||||||
"rev": "deda1a9868be6f516405115068f3ed5038395340",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "awesome-wallpapers",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
@@ -90,7 +71,7 @@
|
|||||||
"blog": {
|
"blog": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"bun2nix": "bun2nix",
|
"bun2nix": "bun2nix",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780522780,
|
"lastModified": 1780522780,
|
||||||
@@ -156,35 +137,10 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bun2nix_3": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_3",
|
|
||||||
"import-tree": "import-tree_3",
|
|
||||||
"nixpkgs": [
|
|
||||||
"iknowyou",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems_3",
|
|
||||||
"treefmt-nix": "treefmt-nix_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770895533,
|
|
||||||
"narHash": "sha256-v3QaK9ugy9bN9RXDnjw0i2OifKmz2NnKM82agtqm/UY=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "bun2nix",
|
|
||||||
"rev": "c843f477b15f51151f8c6bcc886954699440a6e1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "bun2nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"default-creds": {
|
"default-creds": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"bun2nix": "bun2nix_2",
|
"bun2nix": "bun2nix_2",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780323652,
|
"lastModified": 1780323652,
|
||||||
@@ -253,22 +209,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
"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-compat_3": {
|
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777699697,
|
"lastModified": 1777699697,
|
||||||
@@ -321,24 +261,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_3": {
|
"flake-parts_3": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769996383,
|
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_4": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nur",
|
"nur",
|
||||||
@@ -359,7 +281,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_5": {
|
"flake-parts_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"stylix",
|
"stylix",
|
||||||
@@ -399,28 +321,6 @@
|
|||||||
"git-hooks": {
|
"git-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"nixpkgs": [
|
|
||||||
"awesome-wallpapers",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1784288435,
|
|
||||||
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"git-hooks_2": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
@@ -518,30 +418,10 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"iknowyou": {
|
|
||||||
"inputs": {
|
|
||||||
"bun2nix": "bun2nix_3",
|
|
||||||
"nixpkgs": "nixpkgs_4",
|
|
||||||
"nur-osint": "nur-osint"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1779949739,
|
|
||||||
"narHash": "sha256-axo7EprQSm8yYL4P6Ye9EZGEz/bdh8HHkmBlRIQzzvM=",
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "iknowyou",
|
|
||||||
"rev": "bb778b43747b7e703e2c311a898198c4a89ac12a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "iknowyou",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"impermanence": {
|
"impermanence": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769548169,
|
"lastModified": 1769548169,
|
||||||
@@ -587,21 +467,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"import-tree_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1763762820,
|
|
||||||
"narHash": "sha256-ZvYKbFib3AEwiNMLsejb/CWs/OL/srFQ8AogkebEPF0=",
|
|
||||||
"owner": "vic",
|
|
||||||
"repo": "import-tree",
|
|
||||||
"rev": "3c23749d8013ec6daa1d7255057590e9ca726646",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "vic",
|
|
||||||
"repo": "import-tree",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780772958,
|
"lastModified": 1780772958,
|
||||||
@@ -639,28 +504,28 @@
|
|||||||
},
|
},
|
||||||
"nixarr": {
|
"nixarr": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"treefmt-nix": "treefmt-nix_4",
|
"treefmt-nix": "treefmt-nix_3",
|
||||||
"vpnconfinement": "vpnconfinement",
|
"vpnconfinement": "vpnconfinement",
|
||||||
"website-builder": "website-builder"
|
"website-builder": "website-builder"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784997863,
|
"lastModified": 1784997863,
|
||||||
"narHash": "sha256-oTMag4I9MW3bstuOKqzc0F1OqxO49lLa9jkSkRe3EqA=",
|
"narHash": "sha256-oTMag4I9MW3bstuOKqzc0F1OqxO49lLa9jkSkRe3EqA=",
|
||||||
"owner": "rasmus-kirk",
|
"owner": "nix-media-server",
|
||||||
"repo": "nixarr",
|
"repo": "nixarr",
|
||||||
"rev": "282ce99b31d52d72cca281e3d26d3dd267946800",
|
"rev": "282ce99b31d52d72cca281e3d26d3dd267946800",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "rasmus-kirk",
|
"owner": "nix-media-server",
|
||||||
"repo": "nixarr",
|
"repo": "nixarr",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786528975,
|
"lastModified": 1786528975,
|
||||||
@@ -678,16 +543,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786535285,
|
"lastModified": 1776548001,
|
||||||
"narHash": "sha256-rG5HKMAgAhMgydvKGtco6rqTxRq4EDZQCx9USLvVqYw=",
|
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9f78f44a87948854445dae0b6bf82b2e87e4efb5",
|
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-26.05",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -722,21 +587,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769909678,
|
|
||||||
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "72716169fe93074c333e8d0173151350670b824c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786599213,
|
"lastModified": 1786599213,
|
||||||
@@ -754,22 +604,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1776548001,
|
|
||||||
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772773019,
|
"lastModified": 1772773019,
|
||||||
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
||||||
@@ -785,23 +619,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775710090,
|
|
||||||
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768564909,
|
"lastModified": 1768564909,
|
||||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||||
@@ -817,7 +635,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775595990,
|
"lastModified": 1775595990,
|
||||||
"narHash": "sha256-OEf7YqhF9IjJFYZJyuhAypgU+VsRB5lD4DuiMws5Ltc=",
|
"narHash": "sha256-OEf7YqhF9IjJFYZJyuhAypgU+VsRB5lD4DuiMws5Ltc=",
|
||||||
@@ -833,7 +651,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767892417,
|
"lastModified": 1767892417,
|
||||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||||
@@ -846,7 +664,7 @@
|
|||||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786535285,
|
"lastModified": 1786535285,
|
||||||
"narHash": "sha256-rG5HKMAgAhMgydvKGtco6rqTxRq4EDZQCx9USLvVqYw=",
|
"narHash": "sha256-rG5HKMAgAhMgydvKGtco6rqTxRq4EDZQCx9USLvVqYw=",
|
||||||
@@ -862,7 +680,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784796856,
|
"lastModified": 1784796856,
|
||||||
"narHash": "sha256-vwxWgF+Gj276WznzGb1LxGsK/39HaQwgQXiU3EkC844=",
|
"narHash": "sha256-vwxWgF+Gj276WznzGb1LxGsK/39HaQwgQXiU3EkC844=",
|
||||||
@@ -877,7 +695,7 @@
|
|||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_4",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
@@ -896,27 +714,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur-osint": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"iknowyou",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775935554,
|
|
||||||
"narHash": "sha256-7StMiQf3HSBruAxZ2/ZYJhhNEp1KbglGVijQBrurqiM=",
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "nur-osint",
|
|
||||||
"rev": "460e377522a43d3d968be20bec2cf40a72013904",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "nur-osint",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur_2": {
|
"nur_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
@@ -944,9 +741,9 @@
|
|||||||
},
|
},
|
||||||
"nvf": {
|
"nvf": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_2",
|
||||||
"mnw": "mnw",
|
"mnw": "mnw",
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786433999,
|
"lastModified": 1786433999,
|
||||||
@@ -983,19 +780,17 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"awesome-wallpapers": "awesome-wallpapers",
|
|
||||||
"blog": "blog",
|
"blog": "blog",
|
||||||
"default-creds": "default-creds",
|
"default-creds": "default-creds",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"git-hooks": "git-hooks_2",
|
"git-hooks": "git-hooks",
|
||||||
"helium-browser": "helium-browser",
|
"helium-browser": "helium-browser",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"iknowyou": "iknowyou",
|
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixarr": "nixarr",
|
"nixarr": "nixarr",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_8",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"nvf": "nvf",
|
"nvf": "nvf",
|
||||||
@@ -1031,13 +826,13 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_5",
|
"flake-parts": "flake-parts_4",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nur": "nur_2",
|
"nur": "nur_2",
|
||||||
"systems": "systems_4",
|
"systems": "systems_3",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
"tinted-tmux": "tinted-tmux",
|
"tinted-tmux": "tinted-tmux",
|
||||||
@@ -1103,21 +898,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -1227,28 +1007,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix_3": {
|
"treefmt-nix_3": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"iknowyou",
|
|
||||||
"bun2nix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770228511,
|
|
||||||
"narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix_4": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixarr",
|
"nixarr",
|
||||||
|
|||||||
@@ -50,11 +50,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Server
|
# Server
|
||||||
nixarr.url = "github:rasmus-kirk/nixarr";
|
nixarr.url = "github:nix-media-server/nixarr";
|
||||||
default-creds.url = "github:anotherhadi/default-creds";
|
default-creds.url = "github:anotherhadi/default-creds";
|
||||||
blog.url = "github:anotherhadi/blog";
|
blog.url = "github:anotherhadi/blog";
|
||||||
awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers";
|
|
||||||
iknowyou.url = "github:anotherhadi/iknowyou";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
@@ -93,6 +91,7 @@
|
|||||||
apps.${system}.nvim = inputs.nvf-config.apps.${system}.nvim;
|
apps.${system}.nvim = inputs.nvf-config.apps.${system}.nvim;
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
h-laptop = import ./hosts/laptop/flake.nix args;
|
h-laptop = import ./hosts/laptop/flake.nix args;
|
||||||
|
h-work = import ./hosts/work/flake.nix args;
|
||||||
jack = import ./hosts/server/flake.nix args;
|
jack = import ./hosts/server/flake.nix args;
|
||||||
};
|
};
|
||||||
devShells = forAllSystems (system: pkgs: {
|
devShells = forAllSystems (system: pkgs: {
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = import ./cybersecurity-packages.nix {
|
home.packages = import ./cybersecurity-packages.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
};
|
};
|
||||||
@@ -38,7 +43,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.persistence."/persist".directories = [
|
home.persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
"Cyber"
|
directories = [
|
||||||
];
|
"Cyber"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home = {
|
home = {
|
||||||
@@ -19,7 +21,7 @@
|
|||||||
rsync
|
rsync
|
||||||
]);
|
]);
|
||||||
|
|
||||||
persistence."/persist" = {
|
persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
directories = [
|
directories = [
|
||||||
".claude"
|
".claude"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -137,7 +137,9 @@ in {
|
|||||||
mimeType = ["text/html" "text/xml" "application/xhtml+xml"];
|
mimeType = ["text/html" "text/xml" "application/xhtml+xml"];
|
||||||
};
|
};
|
||||||
|
|
||||||
home.persistence."/persist".directories = [
|
home.persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
".config/net.imput.helium"
|
directories = [
|
||||||
];
|
".config/net.imput.helium"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
vlc # Video player
|
vlc # Video player
|
||||||
obsidian # Note taking app
|
obsidian # Note taking app
|
||||||
@@ -13,9 +18,11 @@
|
|||||||
gnome-text-editor
|
gnome-text-editor
|
||||||
];
|
];
|
||||||
|
|
||||||
home.persistence."/persist".directories = [
|
home.persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
".config/ticktick"
|
directories = [
|
||||||
".config/Signal"
|
".config/ticktick"
|
||||||
".config/obsidian"
|
".config/Signal"
|
||||||
];
|
".config/obsidian"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -28,8 +29,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.persistence."/persist".directories = [
|
home.persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
".config/protonvpn"
|
directories = [
|
||||||
".config/Proton Pass"
|
".config/protonvpn"
|
||||||
];
|
".config/Proton Pass"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,11 +24,10 @@ in {
|
|||||||
user.name = username;
|
user.name = username;
|
||||||
user.email = email;
|
user.email = email;
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
pull.rebase = "false";
|
pull.rebase = "true";
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
color.ui = "1";
|
color.ui = "1";
|
||||||
alias = {
|
alias = {
|
||||||
essa = "push --force";
|
|
||||||
co = "checkout";
|
co = "checkout";
|
||||||
fuck = "commit --amend -m";
|
fuck = "commit --amend -m";
|
||||||
c = "commit -m";
|
c = "commit -m";
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-unstable,
|
pkgs-unstable,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -38,5 +40,7 @@
|
|||||||
smassh # typing test, 10fastfinger like
|
smassh # typing test, 10fastfinger like
|
||||||
];
|
];
|
||||||
|
|
||||||
home.persistence."/persist".directories = [".config/gh" ".config/gh-dash"];
|
home.persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
|
directories = [".config/gh" ".config/gh-dash"];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,9 @@
|
|||||||
COLORTERM = "truecolor";
|
COLORTERM = "truecolor";
|
||||||
MANPAGER = "bat -l man -p";
|
MANPAGER = "bat -l man -p";
|
||||||
};
|
};
|
||||||
persistence."/persist".files = [".zsh_history"];
|
persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
|
files = [".zsh_history"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
c = config.lib.stylix.colors;
|
c = config.lib.stylix.colors;
|
||||||
@@ -11,7 +12,9 @@ in {
|
|||||||
spotatui
|
spotatui
|
||||||
];
|
];
|
||||||
|
|
||||||
home.persistence."/persist".directories = [".config/spotatui" ".config/spotify"];
|
home.persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
|
directories = [".config/spotatui" ".config/spotify"];
|
||||||
|
};
|
||||||
|
|
||||||
home.file.".config/spotatui/config.yml".text = ''
|
home.file.".config/spotatui/config.yml".text = ''
|
||||||
keybindings:
|
keybindings:
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
# script (tofi). Uses the home-manager module so the watcher services are
|
# script (tofi). Uses the home-manager module so the watcher services are
|
||||||
# managed the same way as swaync/hypridle.
|
# managed the same way as swaync/hypridle.
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.wl-clipboard];
|
||||||
|
|
||||||
services.cliphist = {
|
services.cliphist = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowImages = true;
|
allowImages = true;
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
|
scripts,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
colors = config.lib.stylix.colors;
|
colors = config.lib.stylix.colors;
|
||||||
scripts = import ../waybar/scripts.nix {inherit pkgs config;};
|
|
||||||
border-size = config.theme.border-size;
|
border-size = config.theme.border-size;
|
||||||
|
|
||||||
mkMenu = menu: let
|
mkMenu = menu: let
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ in {
|
|||||||
text = ''cmd[update:0] echo "[$USER@$(hostname) ~]"'';
|
text = ''cmd[update:0] echo "[$USER@$(hostname) ~]"'';
|
||||||
color = "rgb(${c.base0D})";
|
color = "rgb(${c.base0D})";
|
||||||
font_size = 13;
|
font_size = 13;
|
||||||
font_family = "Maple Mono NF";
|
font_family = config.stylix.fonts.monospace.name;
|
||||||
position = "48, -48";
|
position = "48, -48";
|
||||||
halign = "left";
|
halign = "left";
|
||||||
valign = "top";
|
valign = "top";
|
||||||
@@ -29,7 +29,7 @@ in {
|
|||||||
text = ''cmd[update:1000] echo "$(date +'%H:%M:%S')"'';
|
text = ''cmd[update:1000] echo "$(date +'%H:%M:%S')"'';
|
||||||
color = "rgb(${c.base05})";
|
color = "rgb(${c.base05})";
|
||||||
font_size = 13;
|
font_size = 13;
|
||||||
font_family = "Maple Mono NF";
|
font_family = config.stylix.fonts.monospace.name;
|
||||||
position = "48, -70";
|
position = "48, -70";
|
||||||
halign = "left";
|
halign = "left";
|
||||||
valign = "top";
|
valign = "top";
|
||||||
@@ -39,7 +39,7 @@ in {
|
|||||||
text = ''cmd[update:60000] echo "$(date +'%A %d %B %Y')"'';
|
text = ''cmd[update:60000] echo "$(date +'%A %d %B %Y')"'';
|
||||||
color = "rgb(${c.base04})";
|
color = "rgb(${c.base04})";
|
||||||
font_size = 13;
|
font_size = 13;
|
||||||
font_family = "Maple Mono NF";
|
font_family = config.stylix.fonts.monospace.name;
|
||||||
position = "48, -92";
|
position = "48, -92";
|
||||||
halign = "left";
|
halign = "left";
|
||||||
valign = "top";
|
valign = "top";
|
||||||
@@ -49,7 +49,7 @@ in {
|
|||||||
text = "passwd:";
|
text = "passwd:";
|
||||||
color = "rgb(${c.base0D})";
|
color = "rgb(${c.base0D})";
|
||||||
font_size = 13;
|
font_size = 13;
|
||||||
font_family = "Maple Mono NF";
|
font_family = config.stylix.fonts.monospace.name;
|
||||||
position = "48, -141";
|
position = "48, -141";
|
||||||
halign = "left";
|
halign = "left";
|
||||||
valign = "top";
|
valign = "top";
|
||||||
@@ -70,7 +70,7 @@ in {
|
|||||||
rounding = 0;
|
rounding = 0;
|
||||||
check_color = "rgb(${c.base0B})";
|
check_color = "rgb(${c.base0B})";
|
||||||
fail_color = "rgb(${c.base08})";
|
fail_color = "rgb(${c.base08})";
|
||||||
fail_text = ''<span font_desc="Maple Mono NF 13">auth failed</span>'';
|
fail_text = ''<span font_desc="${config.stylix.fonts.monospace.name} 13">auth failed</span>'';
|
||||||
capslock_color = "rgb(${c.base0A})";
|
capslock_color = "rgb(${c.base0A})";
|
||||||
position = "116, -138";
|
position = "116, -138";
|
||||||
halign = "left";
|
halign = "left";
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
scripts,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
scripts = import ../waybar/scripts.nix {inherit pkgs config;};
|
|
||||||
c = config.lib.stylix.colors;
|
c = config.lib.stylix.colors;
|
||||||
font = config.stylix.fonts.sansSerif.name;
|
font = config.stylix.fonts.sansSerif.name;
|
||||||
monofont = config.stylix.fonts.monospace.name;
|
monofont = config.stylix.fonts.monospace.name;
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
scripts,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
scripts = import ../waybar/scripts.nix {inherit pkgs config;};
|
|
||||||
in {
|
|
||||||
xdg.desktopEntries = {
|
xdg.desktopEntries = {
|
||||||
focus-toggle = {
|
focus-toggle = {
|
||||||
name = "Focus Mode";
|
name = "Focus Mode";
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ in {
|
|||||||
./style.nix
|
./style.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
_module.args.scripts = scripts;
|
||||||
|
_module.args.osdPath = scripts.osdPath;
|
||||||
_module.args.networkScript = scripts.networkScript;
|
_module.args.networkScript = scripts.networkScript;
|
||||||
_module.args.bluetoothScript = scripts.bluetoothScript;
|
_module.args.bluetoothScript = scripts.bluetoothScript;
|
||||||
_module.args.volMuteScript = scripts.vol-mute;
|
_module.args.volMuteScript = scripts.vol-mute;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
name = "waybar-osd";
|
name = "waybar-osd";
|
||||||
runtimeInputs = with pkgs; [procps coreutils];
|
runtimeInputs = with pkgs; [procps coreutils];
|
||||||
text = ''
|
text = ''
|
||||||
printf '%s' "$1" > /tmp/waybar-osd
|
printf '%s' "$1" > "$XDG_RUNTIME_DIR/waybar-osd"
|
||||||
pkill -f -RTMIN+8 '^waybar$' 2>/dev/null || true
|
pkill -f -RTMIN+8 '^waybar$' 2>/dev/null || true
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
name = "waybar-osd-status";
|
name = "waybar-osd-status";
|
||||||
runtimeInputs = with pkgs; [coreutils];
|
runtimeInputs = with pkgs; [coreutils];
|
||||||
text = ''
|
text = ''
|
||||||
file=/tmp/waybar-osd
|
file="$XDG_RUNTIME_DIR/waybar-osd"
|
||||||
[ -f "$file" ] || exit 1
|
[ -f "$file" ] || exit 1
|
||||||
mtime=$(stat -c %Y "$file" 2>/dev/null) || exit 1
|
mtime=$(stat -c %Y "$file" 2>/dev/null) || exit 1
|
||||||
age=$(( $(date +%s) - mtime ))
|
age=$(( $(date +%s) - mtime ))
|
||||||
@@ -86,8 +86,9 @@
|
|||||||
jq -r 'to_entries[] | select(.key != "METADATA") | "\(.value.char) \(.key)"' \
|
jq -r 'to_entries[] | select(.key != "METADATA") | "\(.value.char) \(.key)"' \
|
||||||
${nerdFontGlyphnames} > "$out"
|
${nerdFontGlyphnames} > "$out"
|
||||||
'';
|
'';
|
||||||
|
osdPath = "$XDG_RUNTIME_DIR/waybar-osd";
|
||||||
in {
|
in {
|
||||||
inherit waybar-osd waybar-osd-status battery-monitor;
|
inherit waybar-osd waybar-osd-status battery-monitor osdPath;
|
||||||
|
|
||||||
bluetoothScript = pkgs.writeShellScript "waybar-bluetooth" ''
|
bluetoothScript = pkgs.writeShellScript "waybar-bluetooth" ''
|
||||||
jq=${pkgs.jq}/bin/jq
|
jq=${pkgs.jq}/bin/jq
|
||||||
@@ -234,19 +235,19 @@ in {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
wifi-toggle = pkgs.writeShellScriptBin "wifi-toggle" ''
|
wifi-toggle = pkgs.writeShellScriptBin "wifi-toggle" ''
|
||||||
if nmcli radio wifi | grep -q enabled; then
|
if ${pkgs.networkmanager}/bin/nmcli radio wifi | grep -q enabled; then
|
||||||
nmcli radio wifi off
|
${pkgs.networkmanager}/bin/nmcli radio wifi off
|
||||||
else
|
else
|
||||||
nmcli radio wifi on
|
${pkgs.networkmanager}/bin/nmcli radio wifi on
|
||||||
fi
|
fi
|
||||||
${updateOsd}
|
${updateOsd}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
bluetooth-toggle = pkgs.writeShellScriptBin "bluetooth-toggle" ''
|
bluetooth-toggle = pkgs.writeShellScriptBin "bluetooth-toggle" ''
|
||||||
if bluetoothctl show | grep -q "Powered: yes"; then
|
if ${pkgs.bluez}/bin/bluetoothctl show | grep -q "Powered: yes"; then
|
||||||
bluetoothctl power off
|
${pkgs.bluez}/bin/bluetoothctl power off
|
||||||
else
|
else
|
||||||
bluetoothctl power on
|
${pkgs.bluez}/bin/bluetoothctl power on
|
||||||
fi
|
fi
|
||||||
${updateOsd}
|
${updateOsd}
|
||||||
'';
|
'';
|
||||||
@@ -260,7 +261,7 @@ in {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
nightshift-toggle = pkgs.writeShellScriptBin "nightshift-toggle" ''
|
nightshift-toggle = pkgs.writeShellScriptBin "nightshift-toggle" ''
|
||||||
if pidof "hyprsunset" > /dev/null; then
|
if ${pkgs.procps}/bin/pidof "hyprsunset" > /dev/null; then
|
||||||
pkill hyprsunset
|
pkill hyprsunset
|
||||||
OSD_TEXT=" Night Shift Off"
|
OSD_TEXT=" Night Shift Off"
|
||||||
else
|
else
|
||||||
@@ -271,23 +272,23 @@ in {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
focus-toggle = pkgs.writeShellScriptBin "focus-toggle" ''
|
focus-toggle = pkgs.writeShellScriptBin "focus-toggle" ''
|
||||||
if test -f /tmp/hypr-focus-mode; then
|
if test -f "$XDG_RUNTIME_DIR/hypr-focus-mode"; then
|
||||||
rm /tmp/hypr-focus-mode
|
rm "$XDG_RUNTIME_DIR/hypr-focus-mode"
|
||||||
OSD_TEXT=" Focus Off"
|
OSD_TEXT=" Focus Off"
|
||||||
${updateOsd}
|
${updateOsd}
|
||||||
hyprctl reload
|
${pkgs.hyprland}/bin/hyprctl reload
|
||||||
hyprctl dispatch exec waybar
|
${pkgs.hyprland}/bin/hyprctl dispatch exec waybar
|
||||||
else
|
else
|
||||||
touch /tmp/hypr-focus-mode
|
touch "$XDG_RUNTIME_DIR/hypr-focus-mode"
|
||||||
OSD_TEXT=" Focus On"
|
OSD_TEXT=" Focus On"
|
||||||
${updateOsd}
|
${updateOsd}
|
||||||
pkill waybar || true
|
${pkgs.procps}/bin/pkill waybar || true
|
||||||
hyprctl keyword animations:enabled false
|
${pkgs.hyprland}/bin/hyprctl keyword animations:enabled false
|
||||||
hyprctl keyword general:gaps_in 0
|
${pkgs.hyprland}/bin/hyprctl keyword general:gaps_in 0
|
||||||
hyprctl keyword general:gaps_out 0
|
${pkgs.hyprland}/bin/hyprctl keyword general:gaps_out 0
|
||||||
hyprctl keyword decoration:active_opacity 1
|
${pkgs.hyprland}/bin/hyprctl keyword decoration:active_opacity 1
|
||||||
hyprctl keyword decoration:inactive_opacity 1
|
${pkgs.hyprland}/bin/hyprctl keyword decoration:inactive_opacity 1
|
||||||
hyprctl keyword decoration:rounding 0
|
${pkgs.hyprland}/bin/hyprctl keyword decoration:rounding 0
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
osdPath,
|
||||||
networkScript,
|
networkScript,
|
||||||
bluetoothScript,
|
bluetoothScript,
|
||||||
caffeineToggleScript,
|
caffeineToggleScript,
|
||||||
@@ -76,7 +77,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
"custom/osd" = {
|
"custom/osd" = {
|
||||||
exec = "cat /tmp/waybar-osd";
|
exec = "cat ${osdPath}";
|
||||||
exec-if = "${osdStatusScript}/bin/waybar-osd-status";
|
exec-if = "${osdStatusScript}/bin/waybar-osd-status";
|
||||||
signal = 8;
|
signal = 8;
|
||||||
interval = 1;
|
interval = 1;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
@@ -49,7 +50,7 @@
|
|||||||
inherit (config.var) username;
|
inherit (config.var) username;
|
||||||
homeDirectory = "/home/" + config.var.username;
|
homeDirectory = "/home/" + config.var.username;
|
||||||
|
|
||||||
persistence."/persist" = {
|
persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
directories = [
|
directories = [
|
||||||
".config/nixos" # this repo itself (nixy manages it here)
|
".config/nixos" # this repo itself (nixy manages it here)
|
||||||
".local/share"
|
".local/share"
|
||||||
|
|||||||
@@ -14,26 +14,32 @@ in {
|
|||||||
secrets = {
|
secrets = {
|
||||||
ssh-config = {
|
ssh-config = {
|
||||||
owner = username;
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
path = "${home}/.ssh/config";
|
path = "${home}/.ssh/config";
|
||||||
};
|
};
|
||||||
ssh-github-key = {
|
ssh-github-key = {
|
||||||
owner = username;
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
path = "${home}/.ssh/github";
|
path = "${home}/.ssh/github";
|
||||||
};
|
};
|
||||||
anotherhadi-pgp-key = {
|
anotherhadi-pgp-key = {
|
||||||
owner = username;
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
path = "${home}/.ssh/anotherhadi-priv.asc";
|
path = "${home}/.ssh/anotherhadi-priv.asc";
|
||||||
};
|
};
|
||||||
ssh-jack-key = {
|
ssh-jack-key = {
|
||||||
owner = username;
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
path = "${home}/.ssh/jack";
|
path = "${home}/.ssh/jack";
|
||||||
};
|
};
|
||||||
signing-key = {
|
signing-key = {
|
||||||
owner = username;
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
path = "${home}/.ssh/key";
|
path = "${home}/.ssh/key";
|
||||||
};
|
};
|
||||||
signing-pub-key = {
|
signing-pub-key = {
|
||||||
owner = username;
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
path = "${home}/.ssh/key.pub";
|
path = "${home}/.ssh/key.pub";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
autoUpgrade = false;
|
autoUpgrade = false;
|
||||||
autoGarbageCollector = true;
|
autoGarbageCollector = true;
|
||||||
|
impermanenceEnabled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# DON'T TOUCH THIS
|
# DON'T TOUCH THIS
|
||||||
|
|||||||
@@ -16,17 +16,13 @@
|
|||||||
../../server-modules/adguardhome.nix
|
../../server-modules/adguardhome.nix
|
||||||
../../server-modules/arr.nix
|
../../server-modules/arr.nix
|
||||||
../../server-modules/blog.nix
|
../../server-modules/blog.nix
|
||||||
../../server-modules/awesome-wallpapers.nix
|
../../server-modules/bentopdf.nix
|
||||||
../../server-modules/iknowyou.nix
|
|
||||||
../../server-modules/stirling-pdf.nix
|
|
||||||
../../server-modules/cyberchef.nix
|
../../server-modules/cyberchef.nix
|
||||||
../../server-modules/mazanoke.nix
|
../../server-modules/mazanoke.nix
|
||||||
../../server-modules/kernel-hardening.nix
|
../../server-modules/kernel-hardening.nix
|
||||||
../../server-modules/fail2ban.nix
|
../../server-modules/fail2ban.nix
|
||||||
../../server-modules/default-creds.nix
|
../../server-modules/default-creds.nix
|
||||||
../../server-modules/umami.nix
|
|
||||||
../../server-modules/gitea.nix
|
../../server-modules/gitea.nix
|
||||||
../../server-modules/mealie.nix
|
|
||||||
|
|
||||||
# You should let those lines as is
|
# You should let those lines as is
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
@@ -38,5 +34,5 @@
|
|||||||
home-manager.users."${config.var.username}" = import ./home.nix;
|
home-manager.users."${config.var.username}" = import ./home.nix;
|
||||||
|
|
||||||
# Don't touch this
|
# Don't touch this
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "26.05";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,13 +6,19 @@
|
|||||||
}:
|
}:
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
modules = [
|
modules = [
|
||||||
{_module.args = {inherit inputs pkgs-unstable;};}
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nur.overlays.default
|
||||||
|
];
|
||||||
|
_module.args = {inherit inputs pkgs-unstable;};
|
||||||
|
}
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.nixarr.nixosModules.default
|
inputs.nixarr.nixosModules.default
|
||||||
inputs.nix-index-database.nixosModules.default
|
inputs.nix-index-database.nixosModules.default
|
||||||
inputs.default-creds.nixosModules.default
|
inputs.default-creds.nixosModules.default
|
||||||
|
inputs.impermanence.nixosModules.impermanence
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-5
@@ -4,18 +4,23 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
# Mostly user-specific configuration
|
## TUI
|
||||||
./variables.nix
|
|
||||||
|
|
||||||
# Programs
|
|
||||||
inputs.nvf-config.homeManagerModules.default
|
inputs.nvf-config.homeManagerModules.default
|
||||||
|
../../home/programs/tui/ilovetui
|
||||||
../../home/programs/tui/shell
|
../../home/programs/tui/shell
|
||||||
../../home/programs/tui/git
|
../../home/programs/tui/git
|
||||||
../../home/programs/tui/git/lazygit.nix
|
../../home/programs/tui/git/lazygit.nix
|
||||||
|
../../home/programs/tui/git/signing.nix # CHANGEME: Change the key or remove this file
|
||||||
../../home/programs/tui/nixy
|
../../home/programs/tui/nixy
|
||||||
../../home/programs/tui/nix-utils
|
../../home/programs/tui/nix-utils
|
||||||
|
../../home/programs/tui/elio
|
||||||
|
../../home/programs/tui/wikiman
|
||||||
|
../../home/programs/tui/pkgs.nix
|
||||||
|
|
||||||
../../home/programs/group/dev.nix
|
../../home/programs/group/dev.nix
|
||||||
|
|
||||||
|
# Mostly user-specific configuration
|
||||||
|
./variables.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
@@ -23,7 +28,7 @@
|
|||||||
homeDirectory = "/home/" + config.var.username;
|
homeDirectory = "/home/" + config.var.username;
|
||||||
|
|
||||||
# Don't touch this
|
# Don't touch this
|
||||||
stateVersion = "24.05";
|
stateVersion = "26.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
path = "/home/hadi/.ssh/config";
|
path = "/home/hadi/.ssh/config";
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
};
|
};
|
||||||
github-key = {
|
ssh-github-key = {
|
||||||
owner = "hadi";
|
owner = "hadi";
|
||||||
path = "/home/hadi/.ssh/github";
|
path = "/home/hadi/.ssh/github";
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{config, ...}: {
|
||||||
|
imports = [
|
||||||
|
# Mostly system related configuration
|
||||||
|
../../nixos/audio.nix
|
||||||
|
../../nixos/fonts.nix
|
||||||
|
../../nixos/home-manager.nix
|
||||||
|
../../nixos/nix.nix
|
||||||
|
../../nixos/systemd-boot.nix
|
||||||
|
../../nixos/tuigreet.nix
|
||||||
|
../../nixos/autologin.nix # Skip first TUIGreet login, use LUKS password to unlock the keyring
|
||||||
|
../../nixos/users.nix
|
||||||
|
../../nixos/utils.nix
|
||||||
|
../../nixos/hyprland.nix
|
||||||
|
../../home/programs/gui/helium/system.nix # I hate browser's configuration..
|
||||||
|
|
||||||
|
# CHANGEME: You should probably remove those things:
|
||||||
|
./persistence.nix # impermanence: what to keep once "/" is wiped on boot
|
||||||
|
./usbguard.nix
|
||||||
|
./disko.nix
|
||||||
|
./secrets
|
||||||
|
|
||||||
|
# You should let those lines as is
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./variables.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users."${config.var.username}" = import ./home.nix;
|
||||||
|
|
||||||
|
users.users.${config.var.username}.hashedPassword = "$y$j9T$quUlRuvuYJ18asD8SUrh11$0mHCP7ZRIOYjNHY0oT.aFfVho1V0M65eClLzVo0RARD"; # CHANGEME: This is my password
|
||||||
|
|
||||||
|
# Don't touch this
|
||||||
|
system.stateVersion = "26.05";
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
nodev = {
|
||||||
|
"/" = {
|
||||||
|
fsType = "tmpfs";
|
||||||
|
mountOptions = [
|
||||||
|
"defaults"
|
||||||
|
"size=12G"
|
||||||
|
"mode=755"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
disk = {
|
||||||
|
main = {
|
||||||
|
type = "disk";
|
||||||
|
device = "/dev/disk/by-id/nvme-WD_PC_SN740_SDDQNQD-256G-1201_24175M800511";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
size = "512M";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = ["fmask=0077" "dmask=0077"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "crypted";
|
||||||
|
settings = {
|
||||||
|
allowDiscards = true;
|
||||||
|
bypassWorkqueues = true;
|
||||||
|
};
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = ["-f"];
|
||||||
|
subvolumes = {
|
||||||
|
"/nix" = {
|
||||||
|
mountpoint = "/nix";
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
"/persist" = {
|
||||||
|
mountpoint = "/persist";
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/persist".neededForBoot = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
nixpkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nur.overlays.default
|
||||||
|
];
|
||||||
|
_module.args = {inherit inputs pkgs-unstable;};
|
||||||
|
}
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
inputs.nix-index-database.nixosModules.default
|
||||||
|
inputs.helium-browser.nixosModules.default
|
||||||
|
inputs.impermanence.nixosModules.impermanence
|
||||||
|
inputs.disko.nixosModules.disko
|
||||||
|
./disko.nix
|
||||||
|
./configuration.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# Hardware detection - filesystems are managed by disko.nix
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
||||||
|
boot.initrd.kernelModules = [];
|
||||||
|
boot.kernelModules = ["kvm-intel"];
|
||||||
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
swapDevices = [];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Programs
|
||||||
|
|
||||||
|
## GUI
|
||||||
|
../../home/programs/gui/proton
|
||||||
|
../../home/programs/gui/helium
|
||||||
|
../../home/programs/gui/pkgs.nix
|
||||||
|
|
||||||
|
## TUI
|
||||||
|
inputs.nvf-config.homeManagerModules.default
|
||||||
|
../../home/programs/tui/ghostty
|
||||||
|
../../home/programs/tui/ilovetui
|
||||||
|
../../home/programs/tui/shell
|
||||||
|
../../home/programs/tui/git
|
||||||
|
../../home/programs/tui/git/lazygit.nix
|
||||||
|
../../home/programs/tui/nixy
|
||||||
|
../../home/programs/tui/nix-utils
|
||||||
|
../../home/programs/tui/spotatui
|
||||||
|
../../home/programs/tui/elio
|
||||||
|
../../home/programs/tui/wikiman
|
||||||
|
../../home/programs/tui/pkgs.nix
|
||||||
|
|
||||||
|
## GROUPS
|
||||||
|
../../home/programs/group/cybersecurity.nix
|
||||||
|
../../home/programs/group/dev.nix
|
||||||
|
|
||||||
|
# System (Desktop environment like stuff)
|
||||||
|
../../home/system/hyprlock
|
||||||
|
../../home/system/hyprland
|
||||||
|
../../home/system/waybar
|
||||||
|
../../home/system/swaync
|
||||||
|
../../home/system/tofi
|
||||||
|
../../home/system/mime
|
||||||
|
../../home/system/udiskie
|
||||||
|
../../home/system/termfilechooser
|
||||||
|
../../home/system/clipboard
|
||||||
|
../../home/system/hypridle
|
||||||
|
|
||||||
|
./variables.nix # Mostly user-specific configuration
|
||||||
|
];
|
||||||
|
|
||||||
|
home = {
|
||||||
|
inherit (config.var) username;
|
||||||
|
homeDirectory = "/home/" + config.var.username;
|
||||||
|
|
||||||
|
persistence."/persist" = lib.mkIf (config.var.impermanenceEnabled or false) {
|
||||||
|
directories = [
|
||||||
|
".config/nixos" # this repo itself (nixy manages it here)
|
||||||
|
".local/share"
|
||||||
|
".local/state"
|
||||||
|
".cache"
|
||||||
|
"Notes"
|
||||||
|
"Projects"
|
||||||
|
"Documents"
|
||||||
|
"Downloads"
|
||||||
|
"Pictures"
|
||||||
|
"Videos"
|
||||||
|
];
|
||||||
|
|
||||||
|
files = [
|
||||||
|
".ssh/known_hosts"
|
||||||
|
".config/sops/age/keys.txt"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Don't touch this
|
||||||
|
stateVersion = "26.05";
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.monitor = [
|
||||||
|
"desc:Philips Consumer Electronics Company PHL 221B8L ZV02144013987,highres,0x0,1"
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
nixy = {
|
||||||
|
enable = true;
|
||||||
|
configDirectory = config.var.configDirectory;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# Impermanence: declares what should survive a wipe of "/".
|
||||||
|
{
|
||||||
|
environment.persistence."/persist" = {
|
||||||
|
hideMounts = true;
|
||||||
|
|
||||||
|
directories = [
|
||||||
|
"/etc/NetworkManager/system-connections" # Wifi connections, VPN
|
||||||
|
"/var/lib/bluetooth" # Bluetooth connections
|
||||||
|
"/var/lib/nixos" # keeps uid/gid stable across boots
|
||||||
|
"/var/lib/systemd/coredump"
|
||||||
|
"/var/lib/upower" # battery calibration state
|
||||||
|
"/var/lib/systemd/backlight" # remembers screen brightness
|
||||||
|
"/var/lib/systemd/timers" # last-run timestamps (e.g. nix gc weekly)
|
||||||
|
"/var/log"
|
||||||
|
"/var/cache/tuigreet"
|
||||||
|
"/var/db/sudo/lectured" # remembers that the sudo lecture was already shown
|
||||||
|
];
|
||||||
|
|
||||||
|
files = [
|
||||||
|
"/etc/machine-id"
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key"
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key.pub"
|
||||||
|
"/etc/ssh/ssh_host_rsa_key"
|
||||||
|
"/etc/ssh/ssh_host_rsa_key.pub"
|
||||||
|
"/var/lib/systemd/random-seed" # avoid a weak entropy pool on first boot
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
# Those are my secrets, encrypted with sops
|
||||||
|
# You shouldn't import this file, unless you edit it
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
username = config.var.username;
|
||||||
|
home = "/home/${username}";
|
||||||
|
in {
|
||||||
|
sops = {
|
||||||
|
age.keyFile = "${home}/.config/sops/age/keys.txt";
|
||||||
|
defaultSopsFile = ./secrets.yaml;
|
||||||
|
secrets = {
|
||||||
|
ssh-config = {
|
||||||
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
|
path = "${home}/.ssh/config";
|
||||||
|
};
|
||||||
|
netrc = {
|
||||||
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
|
path = "${home}/.netrc";
|
||||||
|
};
|
||||||
|
ssh-github-key = {
|
||||||
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
|
path = "${home}/.ssh/github";
|
||||||
|
};
|
||||||
|
ssh-gitlab-key = {
|
||||||
|
owner = username;
|
||||||
|
mode = "0600";
|
||||||
|
path = "${home}/.ssh/gitlab";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
sops
|
||||||
|
age
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
ssh-config: ENC[AES256_GCM,data:yTlt8SYPiON8aabbpQ9fE02hvp/u4oDmLaLuADzdOGdAL12MNe1QnNCND3lQ/nT+uxwm8k7OxExBfc70osLPjiq/CjNk1NOaO1nmBOXZqugnf33dF19P8SCMT2KtZTI1tYU2Kd5GmwpnozU6Qh0uJH+0ebR2tQnLChl16ap9fc6rg3AbD+XknSJ3+TndgZPBy4mN/MzT/GFL2kBDbYCmLoMXWDKxCM6ta1NvLRD8W7EBMeh/CNfkU+cw1kPjgPudDBP047VFudnqiueEAAigk3imqPyDFE1Jz4ouvVuLQz/f1BWnyZon3+sgHESAMRtAP3Lt7zo3s4PTJ04ohB4gk6K2fGBsFdyaWJp4uR8FMOhXrwG813KI,iv:W6bcO9ElLJ7YvN6PenqWNQnNSLi2WxZsjBc/adKdjeg=,tag:zKdx+RFXiOKpsY8EOGs46g==,type:str]
|
||||||
|
netrc: ENC[AES256_GCM,data:dlfPJqzz7EZ5JHBmQr7imMDlQv9KFfzDKY6YywtPWR7re7z9jBFgMoaPRk62ocCVltofak6Zrsr3on1jPrrpMwk4DQYFSnQ5tvUTi/1LJWpf9GgjokC5nqc=,iv:se1ysRyzZmB6MjU4heFrDLHe2bv8Ml2iLC4MuIcQW9Y=,tag:oyu8wfR+9hvOuKmsk2sDXw==,type:str]
|
||||||
|
ssh-github-key: ENC[AES256_GCM,data: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,iv:ElF3tykw7GKyhdb1YJBivwxT74DEWkdU1EOuOa/ntUM=,tag:+RYqptKt4L3UynBaoBmwNA==,type:str]
|
||||||
|
ssh-gitlab-key: ENC[AES256_GCM,data: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,iv:h87uW6VOwRubj19DKxEoddRN5/2v+vmKlBxfZnGjY70=,tag:SV17QrAMwJb0QWOXRbPdnw==,type:str]
|
||||||
|
sops:
|
||||||
|
age:
|
||||||
|
- enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBma2xHeGpudjVRMTQ2WFlZ
|
||||||
|
aGJvNnJvM0hkQjM0MThZSjQvc1ErYXZRSDJjCkphZDZycUljcUhUQStNT1RFN29z
|
||||||
|
djRrTzhTckt2K1I1TGsvRWFaeVdSK1kKLS0tIFBGdFFpV1lTNlFzMSt1TktDNk91
|
||||||
|
NUphdlJ5ODZjNDZyTUl3OStpdmYrUWcKYKZ8pvGG1QkCBZTqVtFb5GIYWYfsr/Mc
|
||||||
|
+OGeP1hRwQzJ9+DLUgrsfK/8vr+0Y5q2Nej9gbfxyrnlszussbOADw==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
recipient: age1c8pawdsxptfslgrz2c56s39mrtnjzc5mm3hfzgr2wdwu2v6vfsdsupjsq6
|
||||||
|
- enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0aWQ1NzVWc0lnMXBHZFZq
|
||||||
|
SEplcWMwc1R4NmkvdWdMQUJWY2R0dnRBeVVzCjBCNjVEc3hJazJzZXFFc0EzbXNV
|
||||||
|
enFtYnNVNzUwYVQ4RVUxWVhROFJhT2sKLS0tIGpWeHNwWm5NakFzY0JzYWxicHhk
|
||||||
|
MzVVaVdyOEtoUkF1aDY2UnBGbC9rbDgKoEUqT/OlVXYR5MVlpsnTY4NHa6yg3FzQ
|
||||||
|
WaBrZfGv2/dKeulFCKKFrT3ZG8TIbLTqdRoVIrUp1O+U3vObzY9fzA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
recipient: age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
|
||||||
|
lastmodified: "2026-08-17T12:19:14Z"
|
||||||
|
mac: ENC[AES256_GCM,data:2rK9RlYE7dX/c6zg3J1AeB1TI3v2XVhoUGsou0u35enhebzINUCYVC9HN9Te+6nWO/OVQ3i5vn+DwOZDbK2bfH88wqwIqI4o1Ztw2MW8/kzNJZhqv4QA4Xdo0ULD2TO3X95E1iEnuQIJ0c26gIuVdfsrQviBDbmBTMR/JVE6yHQ=,iv:kZ+2R0+Z64zAZb7ePDdJfPlo/BMFyLpAxK+7ZiDoKFI=,tag:xbf7xOYuG+Msoicx5qjyNw==,type:str]
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.13.3
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# USBGuard:
|
||||||
|
# The following line allow all USB devices until a proper policy is configured.
|
||||||
|
# Run `sudo usbguard generate-policy` with your devices plugged in,
|
||||||
|
# then set rules = "<output>" and switch implicitPolicyTarget to "block".
|
||||||
|
# services.usbguard.implicitPolicyTarget = lib.mkForce "allow";
|
||||||
|
{
|
||||||
|
services.usbguard = {
|
||||||
|
enable = true;
|
||||||
|
implicitPolicyTarget = "block";
|
||||||
|
IPCAllowedUsers = [
|
||||||
|
"root"
|
||||||
|
];
|
||||||
|
rules = ''
|
||||||
|
allow id 1d6b:0002 serial "0000:00:14.0" name "xHCI Host Controller" hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" with-interface 09:00:00 with-connect-type ""
|
||||||
|
allow id 1d6b:0003 serial "0000:00:14.0" name "xHCI Host Controller" hash "prM+Jby/bFHCn2lNjQdAMbgc6tse3xVx+hZwjOPHSdQ=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" with-interface 09:00:00 with-connect-type ""
|
||||||
|
allow id 17ef:6190 serial "" name "Lenovo Calliope USB Keyboard G2" hash "CfZ9R/aoXGm7BN/ojVEzKQwVoxCUtRWMuACrE7BL/5Y=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-10" with-interface { 03:01:01 03:00:00 } with-connect-type "hotplug"
|
||||||
|
allow id 0781:5581 name " SanDisk 3.2Gen1"
|
||||||
|
allow id 17ef:608d name "Lenovo USB Optical Mouse"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Choose your theme here:
|
||||||
|
../../themes/nixy.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config.var = {
|
||||||
|
hostname = "h-work";
|
||||||
|
username = "hadrien";
|
||||||
|
configDirectory = "/home/" + config.var.username + "/.config/nixos"; # The path of the nixos configuration directory
|
||||||
|
|
||||||
|
keyboardLayout = "fr";
|
||||||
|
|
||||||
|
timeZone = "Europe/Paris";
|
||||||
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
extraLocale = "fr_FR.UTF-8";
|
||||||
|
|
||||||
|
git = {
|
||||||
|
username = "Hadi";
|
||||||
|
email = "hadi@example.fr";
|
||||||
|
};
|
||||||
|
|
||||||
|
autoUpgrade = false;
|
||||||
|
autoGarbageCollector = true;
|
||||||
|
impermanenceEnabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# DON'T TOUCH THIS
|
||||||
|
options = {
|
||||||
|
var = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ./mk-container.nix {inherit lib config;}) mkContainer;
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
(mkContainer {
|
|
||||||
name = "wallpapers";
|
|
||||||
hostIp = "10.233.4.1";
|
|
||||||
containerIp = "10.233.4.2";
|
|
||||||
nixosConfig = {pkgs-unstable, ...}: {
|
|
||||||
services.nginx = {
|
|
||||||
enable = true;
|
|
||||||
virtualHosts."wallpapers" = {
|
|
||||||
root = "${inputs.awesome-wallpapers.packages.${pkgs-unstable.stdenv.hostPlatform.system}.default}/share/awesome-wallpapers";
|
|
||||||
listen = [
|
|
||||||
{
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
port = 8080;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
locations."/" = {
|
|
||||||
tryFiles = "$uri $uri/ /index.html";
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
port_in_redirect off;
|
|
||||||
absolute_redirect off;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
networking.firewall.allowedTCPPorts = [8080];
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
services.cloudflared.tunnels."${config.var.tunnelId}".ingress."wallpapers.${config.var.domain}" = "http://10.233.4.2:8080";
|
|
||||||
}
|
|
||||||
@@ -7,13 +7,22 @@
|
|||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
(mkContainer {
|
(mkContainer {
|
||||||
name = "stirling-pdf";
|
name = "bentopdf";
|
||||||
hostIp = "10.233.9.1";
|
hostIp = "10.233.9.1";
|
||||||
containerIp = "10.233.9.2";
|
containerIp = "10.233.9.2";
|
||||||
nixosConfig = {...}: {
|
nixosConfig = {...}: {
|
||||||
services.stirling-pdf = {
|
services.bentopdf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
environment."SERVER_PORT" = "8080";
|
domain = "bentopdf";
|
||||||
|
nginx = {
|
||||||
|
enable = true;
|
||||||
|
virtualHost.listen = [
|
||||||
|
{
|
||||||
|
addr = "0.0.0.0";
|
||||||
|
port = 8080;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
networking.firewall.allowedTCPPorts = [8080];
|
networking.firewall.allowedTCPPorts = [8080];
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
@@ -74,9 +74,9 @@
|
|||||||
icon = "sh:mazanoke";
|
icon = "sh:mazanoke";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
title = "Stirling PDF";
|
title = "BentoPDF";
|
||||||
url = "https://pdf.${domain}";
|
url = "https://pdf.${domain}";
|
||||||
icon = "sh:stirling-pdf";
|
icon = "sh:bentopdf";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
title = "Default-creds";
|
title = "Default-creds";
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ./mk-container.nix {inherit lib config;}) mkContainer;
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
(mkContainer {
|
|
||||||
name = "iky-prod";
|
|
||||||
hostIp = "10.233.1.1";
|
|
||||||
containerIp = "10.233.1.2";
|
|
||||||
internet = true;
|
|
||||||
bindMounts."/etc/iky/config.yaml" = {
|
|
||||||
hostPath = "/var/lib/iknowyou-prod/config.yaml";
|
|
||||||
isReadOnly = false;
|
|
||||||
};
|
|
||||||
nixosConfig = {...}: {
|
|
||||||
imports = [inputs.iknowyou.nixosModules.default];
|
|
||||||
users.users.iknowyou.uid = 999;
|
|
||||||
users.groups.iknowyou.gid = 999;
|
|
||||||
services.iknowyou = {
|
|
||||||
enable = true;
|
|
||||||
port = 8080;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
||||||
(mkContainer {
|
|
||||||
name = "iky-demo";
|
|
||||||
hostIp = "10.233.2.1";
|
|
||||||
containerIp = "10.233.2.2";
|
|
||||||
nixosConfig = {...}: {
|
|
||||||
imports = [inputs.iknowyou.nixosModules.default];
|
|
||||||
services.iknowyou = {
|
|
||||||
enable = true;
|
|
||||||
port = 8080;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
systemd.services.iknowyou.environment.IKY_DEMO = "true";
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.iknowyou = {
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "iknowyou";
|
|
||||||
uid = 999;
|
|
||||||
};
|
|
||||||
users.groups.iknowyou.gid = 999;
|
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"f /var/lib/iknowyou-prod/config.yaml 0600 iknowyou iknowyou -"
|
|
||||||
];
|
|
||||||
|
|
||||||
services.cloudflared.tunnels."${config.var.tunnelId}".ingress = {
|
|
||||||
"iknowyou-prod.${config.var.domain}" = "http://10.233.1.2:8080";
|
|
||||||
"iknowyou.${config.var.domain}" = "http://10.233.2.2:8080";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ./mk-container.nix {inherit lib config;}) mkContainer;
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
(mkContainer {
|
|
||||||
name = "mealie";
|
|
||||||
hostIp = "10.233.8.1";
|
|
||||||
containerIp = "10.233.8.2";
|
|
||||||
internet = true;
|
|
||||||
nixosConfig = {...}: {
|
|
||||||
services.mealie = {
|
|
||||||
enable = true;
|
|
||||||
port = 8080;
|
|
||||||
};
|
|
||||||
networking.firewall.allowedTCPPorts = [8080];
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
services.cloudflared.tunnels."${config.var.tunnelId}".ingress."mealie.${config.var.domain}" = "http://10.233.8.2:8080";
|
|
||||||
}
|
|
||||||
@@ -39,8 +39,7 @@ in {
|
|||||||
nginxHardening
|
nginxHardening
|
||||||
];
|
];
|
||||||
networking.nameservers = lib.mkIf internet [
|
networking.nameservers = lib.mkIf internet [
|
||||||
"1.1.1.1"
|
"${hostIp}"
|
||||||
"1.0.0.1"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ./mk-container.nix {inherit lib config;}) mkContainer;
|
|
||||||
in {
|
|
||||||
sops.secrets.umami-secret.mode = "0400";
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
(mkContainer {
|
|
||||||
name = "umami";
|
|
||||||
hostIp = "10.233.10.1";
|
|
||||||
containerIp = "10.233.10.2";
|
|
||||||
bindMounts."/run/secrets/umami-secret" = {
|
|
||||||
hostPath = config.sops.secrets.umami-secret.path;
|
|
||||||
isReadOnly = true;
|
|
||||||
};
|
|
||||||
nixosConfig = {...}: {
|
|
||||||
services.umami = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
PORT = 8080;
|
|
||||||
HOSTNAME = "0.0.0.0";
|
|
||||||
APP_SECRET_FILE = "/run/secrets/umami-secret";
|
|
||||||
DISABLE_TELEMETRY = true;
|
|
||||||
DISABLE_BOT_CHECK = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# PrivateUsers breaks systemd-creds inside nspawn containers (nested user namespaces)
|
|
||||||
systemd.services.umami.serviceConfig.PrivateUsers = lib.mkForce false;
|
|
||||||
networking.firewall.allowedTCPPorts = [8080];
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
services.cloudflared.tunnels."${config.var.tunnelId}".ingress."umami.${config.var.domain}" = "http://10.233.10.2:8080";
|
|
||||||
}
|
|
||||||
@@ -29,6 +29,7 @@ in
|
|||||||
packages = with pkgs;
|
packages = with pkgs;
|
||||||
[
|
[
|
||||||
doctoc
|
doctoc
|
||||||
|
python3
|
||||||
]
|
]
|
||||||
++ hooks.enabledPackages;
|
++ hooks.enabledPackages;
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -73,8 +73,8 @@
|
|||||||
|
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
image = pkgs.fetchurl {
|
image = pkgs.fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/main/app/static/wallpapers/another-one.png";
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/main/wallpapers/another-one.png";
|
||||||
sha256 = "sha256-zthfsd4QLShPPApV8RoPANaymMC5IiCrmp8QwyyhCcY=";
|
sha256 = "sha256-bKke8RNz6qNxHSfLbU5xVVkG3tbFZW1sFjLB1hltcoI=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user