Compare commits
3 commits
13b79063f8
...
e79e654093
| Author | SHA1 | Date | |
|---|---|---|---|
| e79e654093 | |||
| 3ede855476 | |||
| b416affd1f |
20 changed files with 454 additions and 1058 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -0,0 +1 @@
|
|||
result
|
||||
737
flake.lock
generated
737
flake.lock
generated
|
|
@ -1,140 +1,50 @@
|
|||
{
|
||||
"nodes": {
|
||||
"aagl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"easy-hosts": {
|
||||
"locked": {
|
||||
"lastModified": 1755609725,
|
||||
"narHash": "sha256-r0Y5VDxpiA1AJy02VkmeCNudZ8/JJR1OP3ldtfce0ls=",
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"rev": "7566a0bcc55dbfaeb28791c06aa02060cf5bd0bf",
|
||||
"lastModified": 1755470564,
|
||||
"narHash": "sha256-KB1ZryVDoQcbIsItOf4WtxkHhh3ppj+XwMpSnt/2QHc=",
|
||||
"owner": "tgirlcloud",
|
||||
"repo": "easy-hosts",
|
||||
"rev": "d0422bc7b3db26268982aa15d07e60370e76ee1d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"owner": "tgirlcloud",
|
||||
"repo": "easy-hosts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ags": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"astal": "astal",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756679577,
|
||||
"narHash": "sha256-pkfftqE2CxVN6nKDZvlNdBxIkb/x5ch4wVfwZMYNGCM=",
|
||||
"owner": "Aylur",
|
||||
"repo": "ags",
|
||||
"rev": "04d51ac4082af3ec47e8a803417a1a55b75151d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Aylur",
|
||||
"repo": "ags",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755946532,
|
||||
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"astal": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ags",
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756474652,
|
||||
"narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd",
|
||||
"lastModified": 1762980239,
|
||||
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -158,31 +68,11 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757075491,
|
||||
|
|
@ -198,321 +88,50 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753964049,
|
||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755678602,
|
||||
"narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprland-qtutils": "hyprland-qtutils",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756977414,
|
||||
"narHash": "sha256-Hz5S4fILpYd1smWDZ+uLYjHgW22v6JS/04j15I4cFZE=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "4e785d12a91117cd5b255052799d1a051d9976c0",
|
||||
"revCount": 6409,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
}
|
||||
},
|
||||
"hyprland-contrib": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755680610,
|
||||
"narHash": "sha256-g7/g5o0spemkZCzPa8I21RgCmN0Kv41B5z9Z5HQWraY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "contrib",
|
||||
"rev": "04721247f417256ca96acf28cdfe946cf1006263",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "contrib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749046714,
|
||||
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qt-support": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749154592,
|
||||
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qtutils": {
|
||||
"inputs": {
|
||||
"hyprland-qt-support": "hyprland-qt-support",
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753819801,
|
||||
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753622892,
|
||||
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756117388,
|
||||
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755184602,
|
||||
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1729298361,
|
||||
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
|
||||
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
|
||||
"lastModified": 1763415215,
|
||||
"narHash": "sha256-20HAylsK5h/DiNMbYfL1xDjgzoMIFz3jCyoIjvoKL5I=",
|
||||
"rev": "08b0ce8736510f816a25061c97d3ca51fb36d757",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/08b0ce8736510f816a25061c97d3ca51fb36d757.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"lix": [
|
||||
"lix"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732605668,
|
||||
"narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=",
|
||||
"rev": "f19bd752910bbe3a861c9cad269bd078689d50fe",
|
||||
"lastModified": 1761960361,
|
||||
"narHash": "sha256-FvuAw56NIVJpS3Kr8Wv9PpU4eehZMcdIVkxjStuYmqc=",
|
||||
"rev": "c47f62187601ea2991b79a9bacdbfdf76cd29fbe",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/c47f62187601ea2991b79a9bacdbfdf76cd29fbe.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
|
||||
}
|
||||
},
|
||||
"niri": {
|
||||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
|
|
@ -566,18 +185,15 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1754498491,
|
||||
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
|
||||
"type": "github"
|
||||
"lastModified": 1763312402,
|
||||
"narHash": "sha256-uuJnccye1O5FHnnHYBge1lN2Pq4Z2lp1E3+rc2zsUr4=",
|
||||
"rev": "85a6c4a07faa12aaccd81b36ba9bfc2bec974fa1",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre897164.85a6c4a07faa/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
|
|
@ -596,206 +212,23 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1744868846,
|
||||
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1744536153,
|
||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1756266583,
|
||||
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1712163089,
|
||||
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1729070438,
|
||||
"narHash": "sha256-KOTTUfPkugH52avUvXGxvWy8ibKKj4genodIYUED+Kc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5785b6bb5eaae44e627d541023034e1601455827",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1756787288,
|
||||
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1756787288,
|
||||
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755960406,
|
||||
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"aagl": "aagl",
|
||||
"ags": "ags",
|
||||
"easy-hosts": "easy-hosts",
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-contrib": "hyprland-contrib",
|
||||
"lix": "lix",
|
||||
"lix-module": "lix-module",
|
||||
"niri": "niri",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754575663,
|
||||
"narHash": "sha256-afOx8AG0KYtw7mlt6s6ahBBy7eEHZwws3iCRoiuRQS4=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "6db0fb0e9cec2e9729dc52bf4898e6c135bb8a0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754988908,
|
||||
|
|
@ -812,21 +245,6 @@
|
|||
}
|
||||
},
|
||||
"systems": {
|
||||
"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_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
|
@ -841,47 +259,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755354946,
|
||||
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
|
|||
159
flake.nix
159
flake.nix
|
|
@ -1,94 +1,89 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
imports = with inputs; [
|
||||
easy-hosts.flakeModule
|
||||
home-manager.flakeModules.home-manager
|
||||
];
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
systems = [ "x86_64-linux" ];
|
||||
easy-hosts = {
|
||||
autoConstruct = true;
|
||||
path = ./hosts;
|
||||
onlySystem = "x86_64-nixos";
|
||||
|
||||
lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
|
||||
shared = {
|
||||
modules = [
|
||||
inputs.lix-module.nixosModules.default
|
||||
./nixosModules
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland";
|
||||
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
ags.url = "github:Aylur/ags";
|
||||
aagl.url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
flake = {
|
||||
homeConfigurations = let
|
||||
userConfig = system: extraModules:
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||
modules = [ ./hmModules ] ++ extraModules;
|
||||
};
|
||||
in {
|
||||
"pan@juri" = userConfig "x86_64-linux" [ ./users/juri ];
|
||||
"pan@jibril" = userConfig "x86_64-linux" [ ./users/jibril ];
|
||||
"pan@onizuka" = userConfig "x86_64-linux" [ ./users/onizuka ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, home-manager, nixpkgs, lix-module, ... }@inputs: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
fs = pkgs.lib.fileset;
|
||||
st = pkgs.lib.strings;
|
||||
as = pkgs.lib.attrsets;
|
||||
inputs = {
|
||||
# Save data with this url. Source:
|
||||
# at://did:plc:mojgntlezho4qt7uvcfkdndg/app.bsky.feed.post/3loogwsoqok2w
|
||||
# cid: bafyreidhuuxs3cuabneygtxir65hnd7hvy4hwj5rwrylpwmp7jhxciasve
|
||||
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
|
||||
|
||||
hosts = let
|
||||
hostFilter = { name, ...}: name == "host.nix";
|
||||
hostPaths = fs.toList (fs.fileFilter hostFilter ./hosts);
|
||||
# Assumes dir structure is start_of_path/hosts/hostname/host.nix
|
||||
extractHostName = path: builtins.unsafeDiscardStringContext (
|
||||
st.removeSuffix "/host.nix" (
|
||||
builtins.elemAt (st.splitString "/hosts/" path) 1
|
||||
)
|
||||
);
|
||||
in builtins.listToAttrs (map (path: {
|
||||
value = path;
|
||||
name = extractHostName path;
|
||||
}) hostPaths);
|
||||
|
||||
users = let
|
||||
userFilter = { name, ...}: name == "user.nix";
|
||||
userPaths = fs.toList (fs.fileFilter userFilter ./hosts);
|
||||
in builtins.listToAttrs (map (path: let
|
||||
dirsAndFiles = st.splitString "/" path;
|
||||
dAFLength = builtins.length dirsAndFiles;
|
||||
# Assumes dir structure is start_of_path/hosts/hostname/users/username/user.nix
|
||||
hostname = builtins.unsafeDiscardStringContext (
|
||||
builtins.elemAt dirsAndFiles (dAFLength - 4));
|
||||
username = builtins.unsafeDiscardStringContext (
|
||||
builtins.elemAt dirsAndFiles (dAFLength - 2));
|
||||
in {
|
||||
name = username + "@" + hostname;
|
||||
value = path;
|
||||
}
|
||||
) userPaths);
|
||||
|
||||
userConfig = usernameAtHostname: userpath: home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit usernameAtHostname;
|
||||
};
|
||||
modules = [
|
||||
./hmModules
|
||||
userpath
|
||||
];
|
||||
home-manager = {
|
||||
type = "github";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hostConfig = hostname: hostpath: nixpkgs.lib.nixosSystem {
|
||||
specialArgs = let
|
||||
hostFilteredUsers = as.filterAttrs (
|
||||
name: value: let
|
||||
userHostname = builtins.elemAt (st.splitString "@" name) 1;
|
||||
in userHostname == hostname
|
||||
) users;
|
||||
|
||||
hostUsers = as.mapAttrsToList (
|
||||
name: value: builtins.elemAt (st.splitString "@" name) 0
|
||||
) hostFilteredUsers;
|
||||
in {
|
||||
inherit inputs;
|
||||
inherit hostname;
|
||||
"usernameList" = hostUsers;
|
||||
};
|
||||
modules = [
|
||||
./nixosModules
|
||||
hostpath
|
||||
];
|
||||
flake-parts = {
|
||||
type = "github";
|
||||
owner = "hercules-ci";
|
||||
repo = "flake-parts";
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
easy-hosts = {
|
||||
type = "github";
|
||||
owner = "tgirlcloud";
|
||||
repo = "easy-hosts";
|
||||
};
|
||||
|
||||
lix = {
|
||||
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.lix.follows = "lix";
|
||||
};
|
||||
|
||||
niri = {
|
||||
type = "github";
|
||||
owner = "sodiboo";
|
||||
repo = "niri-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
sops-nix = {
|
||||
type = "github";
|
||||
owner = "Mic92";
|
||||
repo = "sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
in {
|
||||
nixosConfigurations = builtins.mapAttrs (name: path: hostConfig name path) hosts;
|
||||
homeConfigurations = builtins.mapAttrs (name: path: userConfig name path) users;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{ config, inputs, pkgs, lib, ... }:
|
||||
let rootPath = ./.; in
|
||||
{ config, lib, ... }:
|
||||
# let rootPath = ./.; in
|
||||
{
|
||||
options.hypr = {
|
||||
enable = lib.mkEnableOption "Enables hyprland";
|
||||
|
|
@ -34,220 +34,224 @@ let rootPath = ./.; in
|
|||
polkit.enable = lib.mkEnableOption "Enables polkit agent";
|
||||
screenshot.enable = lib.mkEnableOption "Enables Screenshotting";
|
||||
};
|
||||
|
||||
config.warnings = lib.mkIf config.hypr.enable [''
|
||||
hypr.* has been deprecated to allow the removal of hyprland from flake inputs.
|
||||
''];
|
||||
|
||||
imports = [ inputs.hyprland.homeManagerModules.default ];
|
||||
# imports = [ inputs.hyprland.homeManagerModules.default ];
|
||||
|
||||
config = let
|
||||
lopts = lib.lists.optionals;
|
||||
in {
|
||||
nix.settings = {
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
} // lib.mkIf config.hypr.enable {
|
||||
wayland.windowManager.hyprland = let
|
||||
mod = config.hypr.mod_key;
|
||||
# p-s = let
|
||||
# chw = config.hypr.workspace;
|
||||
# findDefaultWs = id: if (builtins.hasAttr id chw.workspaces)
|
||||
# then (builtins.head (builtins.getAttr id chw.workspaces))
|
||||
# else "";
|
||||
# in with config.hypr.workspace; lib.mkIf primary-secondary.enable {
|
||||
# primaryWs = findDefaultWs primary-secondary.primary;
|
||||
# secondaryWs = findDefaultWs primary-secondary.secondary;
|
||||
# };
|
||||
in {
|
||||
enable = true;
|
||||
settings = {
|
||||
monitor = config.hypr.monitor.details;
|
||||
workspace = let
|
||||
wsMonitor = monitor: wrksps: map (ws:
|
||||
if ws == (builtins.head wrksps)
|
||||
then "name:"+ws+", monitor:"+monitor+", persistent:true, default:true"
|
||||
else "name:"+ws+", monitor:"+monitor+", persistent:true"
|
||||
) wrksps;
|
||||
makeRules = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||
builtins.mapAttrs wsMonitor wsAttr
|
||||
));
|
||||
in makeRules config.hypr.workspace.workspaces
|
||||
++ [
|
||||
"w[t1], gapsout:0, gapsin:0"
|
||||
"w[tg1], gapsout:0, gapsin:0"
|
||||
"f[1], gapsout:0, gapsin:0"
|
||||
]
|
||||
++ lopts config.hypr.workspace.scratchpad.enable [
|
||||
"special:scratch, on-created-empty: [float; size 50% 50%; center] ${config.defaultApps.terminal}"
|
||||
];
|
||||
input = {
|
||||
accel_profile = "flat";
|
||||
sensitivity = config.hypr.mouse.sensitivity;
|
||||
};
|
||||
general = {
|
||||
gaps_in = 3;
|
||||
gaps_out = 3;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(F5C2E7)";
|
||||
"col.inactive_border" = "rgb(1E1D2F)";
|
||||
layout = "master";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 2;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 12;
|
||||
passes = 2;
|
||||
special = true;
|
||||
};
|
||||
};
|
||||
animation = [
|
||||
"windows, 1, 4, default, popin 50%"
|
||||
"windowsOut, 1, 4, default, popin 50%"
|
||||
"windowsMove, 1, 3, default"
|
||||
"border, 1, 3, default"
|
||||
"fade, 1, 3, default"
|
||||
"workspaces, 1, 3, default"
|
||||
];
|
||||
master = {
|
||||
mfact = config.hypr.master.mfact;
|
||||
};
|
||||
misc = {
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
exec-once = lopts config.hypr.polkit.enable [
|
||||
"${pkgs.kdePackages.polkit-kde-agent-1}/bin/libexec/polkit-kde-authentication-agent-1"
|
||||
] ++ lopts config.hypr.background.enable [
|
||||
"${pkgs.swww}/bin/swww-daemon"
|
||||
"${pkgs.swww}/bin/swww img ${config.hypr.background.path}"
|
||||
] ++ lopts config.ags.enable [
|
||||
"ags"
|
||||
] ++ lopts config.beeper.enable [
|
||||
"[workspace name:chat silent] Beeper"
|
||||
];
|
||||
|
||||
env = with config.hypr; [
|
||||
# "HYPR_MON_PRIMARY, ${workspace.primary-secondary.primary}"
|
||||
# "HYPR_MON_SECONDARY, ${workspace.primary-secondary.secondary}"
|
||||
"HYPR_WORK_DB, ${config.xdg.cacheHome}/hypr/workspace.db"
|
||||
] ++ lopts cursor.enable [
|
||||
"HYPRCURSOR_THEME,${cursor.theme}"
|
||||
"HYPRCURSOR_SIZE,${cursor.size}"
|
||||
] ++ lopts config.nvidia.enable [
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"GBM_BACKEND,nvidia-drm"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
"WLR_RENDERER_ALLOW_SOFTWARE,1"
|
||||
"WLR_DRM_DEVICES,/dev/dri/card1"
|
||||
];
|
||||
|
||||
windowrulev2 = let
|
||||
workspaceDefaults = wsname: applist: map (
|
||||
app: "workspace " + wsname + ", " + app
|
||||
) applist;
|
||||
allDefault = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||
builtins.mapAttrs workspaceDefaults wsAttr
|
||||
));
|
||||
in allDefault config.hypr.workspace.defaults
|
||||
++ [
|
||||
"bordersize 0, floating:0, onworkspace:w[t1]"
|
||||
"rounding 0, floating:0, onworkspace:w[t1]"
|
||||
"bordersize 0, floating:0, onworkspace:w[tg1]"
|
||||
"rounding 0, floating:0, onworkspace:w[tg1]"
|
||||
"bordersize 0, floating:0, onworkspace:f[1]"
|
||||
"rounding 0, floating:0, onworkspace:f[1]"
|
||||
]
|
||||
++ lopts config.hypr.xwayland.videobridge.enable [
|
||||
"opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
||||
"noanim,class:^(xwaylandvideobridge)$"
|
||||
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||
"noblur,class:^(xwaylandvideobridge)$"
|
||||
] ++ map (id: "opacity 1 override, " + id) config.hypr.windows.opaque
|
||||
++ [
|
||||
"opacity 0.94 fullscreen:0"
|
||||
"opacity 0.79 override, class:^(${config.defaultApps.terminal})$"
|
||||
];
|
||||
|
||||
# 1, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh home
|
||||
# 2, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh web
|
||||
# 3, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh med
|
||||
# 4, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh game
|
||||
# 5, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh etc
|
||||
# _, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh hell
|
||||
# TAB, exec, $XDG_CONFIG_HOME/hypr/scripts/changesecondary.xsh
|
||||
#
|
||||
# SHIFT, 1, movetoworkspacesilent, name:home
|
||||
# SHIFT, 2, movetoworkspacesilent, name:web
|
||||
# SHIFT, 3, movetoworkspacesilent, name:med
|
||||
# SHIFT, 4, movetoworkspacesilent, name:game
|
||||
# SHIFT, TAB, movetoworkspacesilent, r-1
|
||||
|
||||
bind = let
|
||||
modPrefix = kb: if (lib.strings.hasPrefix "&" kb)
|
||||
then ("${mod}" + kb)
|
||||
else ("${mod}, " + kb);
|
||||
in map modPrefix ([
|
||||
"Return, exec, ${config.defaultApps.terminal}"
|
||||
"&SHIFT, Q, exit"
|
||||
"h, focusmonitor, l"
|
||||
"l, focusmonitor, r"
|
||||
"j, cyclenext,"
|
||||
"k, cyclenext, prev"
|
||||
"&SHIFT, h, movecurrentworkspacetomonitor, -1"
|
||||
"&SHIFT, l, movecurrentworkspacetomonitor, +1"
|
||||
"&SHIFT, j, swapnext,"
|
||||
"&SHIFT, k, swapnext, prev"
|
||||
"c, killactive"
|
||||
"f, togglefloating"
|
||||
"&SHIFT, f, fullscreen"
|
||||
] ++ (let
|
||||
workspaces = builtins.concatLists (
|
||||
builtins.attrValues config.hypr.workspace.workspaces);
|
||||
wsBinds = with builtins; wrksps: depth: if depth > (length wrksps)
|
||||
then []
|
||||
else let ws = builtins.elemAt wrksps (depth -1); in [
|
||||
"${toString depth}, workspace, name:${ws}"
|
||||
"&SHIFT, ${toString depth}, movetoworkspacesilent, name:${ws}"
|
||||
] ++ wsBinds wrksps (depth + 1);
|
||||
in wsBinds workspaces 1) ++ lopts config.rofi.enable [
|
||||
"&SHIFT, return, exec, ${pkgs.rofi}/bin/rofi -show run"
|
||||
] ++ lopts config.hypr.screenshot.enable [
|
||||
"P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copy area"
|
||||
"&SHIFT, P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copysave area"
|
||||
] ++ lopts config.hypr.workspace.scratchpad.enable [
|
||||
"i, togglespecialworkspace, scratch"
|
||||
]);
|
||||
|
||||
bindm = map (kb: "${mod}, " + kb) [
|
||||
"mouse:272, movewindow"
|
||||
"mouse:273, movewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
wlr-randr # Xrandr for wayland
|
||||
wl-clipboard # Clipboard manager for wayland
|
||||
] ++ lopts config.hypr.xwayland.videobridge.enable [
|
||||
kdePackages.xwaylandvideobridge
|
||||
] ++ lopts config.hypr.cursor.enable [
|
||||
hyprcursor
|
||||
] ++ lopts config.hypr.screenshot.enable [
|
||||
hyprpicker # Colorpicker, needed for screenshot tool
|
||||
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
|
||||
];
|
||||
|
||||
xdg.configFile."hypr-scripts" = {
|
||||
source = rootPath + "/scripts";
|
||||
target = "hypr/scripts";
|
||||
executable = true;
|
||||
};
|
||||
|
||||
xdg.dataFile."hypr-icons" = lib.mkIf config.hypr.cursor.enable {
|
||||
source = rootPath + "/icons";
|
||||
target = "icons/";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
# config = let
|
||||
# lopts = lib.lists.optionals;
|
||||
# in {
|
||||
# nix.settings = {
|
||||
# substituters = ["https://hyprland.cachix.org"];
|
||||
# trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
# };
|
||||
# } // lib.mkIf config.hypr.enable {
|
||||
# wayland.windowManager.hyprland = let
|
||||
# mod = config.hypr.mod_key;
|
||||
# # p-s = let
|
||||
# # chw = config.hypr.workspace;
|
||||
# # findDefaultWs = id: if (builtins.hasAttr id chw.workspaces)
|
||||
# # then (builtins.head (builtins.getAttr id chw.workspaces))
|
||||
# # else "";
|
||||
# # in with config.hypr.workspace; lib.mkIf primary-secondary.enable {
|
||||
# # primaryWs = findDefaultWs primary-secondary.primary;
|
||||
# # secondaryWs = findDefaultWs primary-secondary.secondary;
|
||||
# # };
|
||||
# in {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# monitor = config.hypr.monitor.details;
|
||||
# workspace = let
|
||||
# wsMonitor = monitor: wrksps: map (ws:
|
||||
# if ws == (builtins.head wrksps)
|
||||
# then "name:"+ws+", monitor:"+monitor+", persistent:true, default:true"
|
||||
# else "name:"+ws+", monitor:"+monitor+", persistent:true"
|
||||
# ) wrksps;
|
||||
# makeRules = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||
# builtins.mapAttrs wsMonitor wsAttr
|
||||
# ));
|
||||
# in makeRules config.hypr.workspace.workspaces
|
||||
# ++ [
|
||||
# "w[t1], gapsout:0, gapsin:0"
|
||||
# "w[tg1], gapsout:0, gapsin:0"
|
||||
# "f[1], gapsout:0, gapsin:0"
|
||||
# ]
|
||||
# ++ lopts config.hypr.workspace.scratchpad.enable [
|
||||
# "special:scratch, on-created-empty: [float; size 50% 50%; center] ${config.defaultApps.terminal}"
|
||||
# ];
|
||||
# input = {
|
||||
# accel_profile = "flat";
|
||||
# sensitivity = config.hypr.mouse.sensitivity;
|
||||
# };
|
||||
# general = {
|
||||
# gaps_in = 3;
|
||||
# gaps_out = 3;
|
||||
# border_size = 2;
|
||||
# "col.active_border" = "rgb(F5C2E7)";
|
||||
# "col.inactive_border" = "rgb(1E1D2F)";
|
||||
# layout = "master";
|
||||
# };
|
||||
# decoration = {
|
||||
# rounding = 2;
|
||||
# blur = {
|
||||
# enabled = true;
|
||||
# size = 12;
|
||||
# passes = 2;
|
||||
# special = true;
|
||||
# };
|
||||
# };
|
||||
# animation = [
|
||||
# "windows, 1, 4, default, popin 50%"
|
||||
# "windowsOut, 1, 4, default, popin 50%"
|
||||
# "windowsMove, 1, 3, default"
|
||||
# "border, 1, 3, default"
|
||||
# "fade, 1, 3, default"
|
||||
# "workspaces, 1, 3, default"
|
||||
# ];
|
||||
# master = {
|
||||
# mfact = config.hypr.master.mfact;
|
||||
# };
|
||||
# misc = {
|
||||
# focus_on_activate = true;
|
||||
# };
|
||||
#
|
||||
# exec-once = lopts config.hypr.polkit.enable [
|
||||
# "${pkgs.kdePackages.polkit-kde-agent-1}/bin/libexec/polkit-kde-authentication-agent-1"
|
||||
# ] ++ lopts config.hypr.background.enable [
|
||||
# "${pkgs.swww}/bin/swww-daemon"
|
||||
# "${pkgs.swww}/bin/swww img ${config.hypr.background.path}"
|
||||
# ] ++ lopts config.ags.enable [
|
||||
# "ags"
|
||||
# ] ++ lopts config.beeper.enable [
|
||||
# "[workspace name:chat silent] Beeper"
|
||||
# ];
|
||||
#
|
||||
# env = with config.hypr; [
|
||||
# # "HYPR_MON_PRIMARY, ${workspace.primary-secondary.primary}"
|
||||
# # "HYPR_MON_SECONDARY, ${workspace.primary-secondary.secondary}"
|
||||
# "HYPR_WORK_DB, ${config.xdg.cacheHome}/hypr/workspace.db"
|
||||
# ] ++ lopts cursor.enable [
|
||||
# "HYPRCURSOR_THEME,${cursor.theme}"
|
||||
# "HYPRCURSOR_SIZE,${cursor.size}"
|
||||
# ] ++ lopts config.nvidia.enable [
|
||||
# "LIBVA_DRIVER_NAME,nvidia"
|
||||
# "XDG_SESSION_TYPE,wayland"
|
||||
# "GBM_BACKEND,nvidia-drm"
|
||||
# "__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
# "WLR_RENDERER_ALLOW_SOFTWARE,1"
|
||||
# "WLR_DRM_DEVICES,/dev/dri/card1"
|
||||
# ];
|
||||
#
|
||||
# windowrulev2 = let
|
||||
# workspaceDefaults = wsname: applist: map (
|
||||
# app: "workspace " + wsname + ", " + app
|
||||
# ) applist;
|
||||
# allDefault = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||
# builtins.mapAttrs workspaceDefaults wsAttr
|
||||
# ));
|
||||
# in allDefault config.hypr.workspace.defaults
|
||||
# ++ [
|
||||
# "bordersize 0, floating:0, onworkspace:w[t1]"
|
||||
# "rounding 0, floating:0, onworkspace:w[t1]"
|
||||
# "bordersize 0, floating:0, onworkspace:w[tg1]"
|
||||
# "rounding 0, floating:0, onworkspace:w[tg1]"
|
||||
# "bordersize 0, floating:0, onworkspace:f[1]"
|
||||
# "rounding 0, floating:0, onworkspace:f[1]"
|
||||
# ]
|
||||
# ++ lopts config.hypr.xwayland.videobridge.enable [
|
||||
# "opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
||||
# "noanim,class:^(xwaylandvideobridge)$"
|
||||
# "noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||
# "maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||
# "noblur,class:^(xwaylandvideobridge)$"
|
||||
# ] ++ map (id: "opacity 1 override, " + id) config.hypr.windows.opaque
|
||||
# ++ [
|
||||
# "opacity 0.94 fullscreen:0"
|
||||
# "opacity 0.79 override, class:^(${config.defaultApps.terminal})$"
|
||||
# ];
|
||||
#
|
||||
# # 1, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh home
|
||||
# # 2, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh web
|
||||
# # 3, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh med
|
||||
# # 4, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh game
|
||||
# # 5, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh etc
|
||||
# # _, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh hell
|
||||
# # TAB, exec, $XDG_CONFIG_HOME/hypr/scripts/changesecondary.xsh
|
||||
# #
|
||||
# # SHIFT, 1, movetoworkspacesilent, name:home
|
||||
# # SHIFT, 2, movetoworkspacesilent, name:web
|
||||
# # SHIFT, 3, movetoworkspacesilent, name:med
|
||||
# # SHIFT, 4, movetoworkspacesilent, name:game
|
||||
# # SHIFT, TAB, movetoworkspacesilent, r-1
|
||||
#
|
||||
# bind = let
|
||||
# modPrefix = kb: if (lib.strings.hasPrefix "&" kb)
|
||||
# then ("${mod}" + kb)
|
||||
# else ("${mod}, " + kb);
|
||||
# in map modPrefix ([
|
||||
# "Return, exec, ${config.defaultApps.terminal}"
|
||||
# "&SHIFT, Q, exit"
|
||||
# "h, focusmonitor, l"
|
||||
# "l, focusmonitor, r"
|
||||
# "j, cyclenext,"
|
||||
# "k, cyclenext, prev"
|
||||
# "&SHIFT, h, movecurrentworkspacetomonitor, -1"
|
||||
# "&SHIFT, l, movecurrentworkspacetomonitor, +1"
|
||||
# "&SHIFT, j, swapnext,"
|
||||
# "&SHIFT, k, swapnext, prev"
|
||||
# "c, killactive"
|
||||
# "f, togglefloating"
|
||||
# "&SHIFT, f, fullscreen"
|
||||
# ] ++ (let
|
||||
# workspaces = builtins.concatLists (
|
||||
# builtins.attrValues config.hypr.workspace.workspaces);
|
||||
# wsBinds = with builtins; wrksps: depth: if depth > (length wrksps)
|
||||
# then []
|
||||
# else let ws = builtins.elemAt wrksps (depth -1); in [
|
||||
# "${toString depth}, workspace, name:${ws}"
|
||||
# "&SHIFT, ${toString depth}, movetoworkspacesilent, name:${ws}"
|
||||
# ] ++ wsBinds wrksps (depth + 1);
|
||||
# in wsBinds workspaces 1) ++ lopts config.rofi.enable [
|
||||
# "&SHIFT, return, exec, ${pkgs.rofi}/bin/rofi -show run"
|
||||
# ] ++ lopts config.hypr.screenshot.enable [
|
||||
# "P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copy area"
|
||||
# "&SHIFT, P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copysave area"
|
||||
# ] ++ lopts config.hypr.workspace.scratchpad.enable [
|
||||
# "i, togglespecialworkspace, scratch"
|
||||
# ]);
|
||||
#
|
||||
# bindm = map (kb: "${mod}, " + kb) [
|
||||
# "mouse:272, movewindow"
|
||||
# "mouse:273, movewindow"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
#
|
||||
# home.packages = with pkgs; [
|
||||
# wlr-randr # Xrandr for wayland
|
||||
# wl-clipboard # Clipboard manager for wayland
|
||||
# ] ++ lopts config.hypr.xwayland.videobridge.enable [
|
||||
# kdePackages.xwaylandvideobridge
|
||||
# ] ++ lopts config.hypr.cursor.enable [
|
||||
# hyprcursor
|
||||
# ] ++ lopts config.hypr.screenshot.enable [
|
||||
# hyprpicker # Colorpicker, needed for screenshot tool
|
||||
# inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
|
||||
# ];
|
||||
#
|
||||
# xdg.configFile."hypr-scripts" = {
|
||||
# source = rootPath + "/scripts";
|
||||
# target = "hypr/scripts";
|
||||
# executable = true;
|
||||
# };
|
||||
#
|
||||
# xdg.dataFile."hypr-icons" = lib.mkIf config.hypr.cursor.enable {
|
||||
# source = rootPath + "/icons";
|
||||
# target = "icons/";
|
||||
# recursive = true;
|
||||
# };
|
||||
# };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
relativenumber = true;
|
||||
};
|
||||
commands = {
|
||||
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
|
||||
dragon-out = ''%${pkgs.dragon-drop}/bin/dragon-drop -a -x "$fx"'';
|
||||
trash = lib.mkIf config.trash.enable ''
|
||||
%${pkgs.trash-cli}/bin/trash "$fx"
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, usernameAtHostname, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
options = {
|
||||
|
|
@ -9,17 +9,15 @@
|
|||
browser = lib.mkOption { default = ""; };
|
||||
};
|
||||
};
|
||||
config = let
|
||||
st = lib.strings;
|
||||
in {
|
||||
config = {
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home.stateVersion = "23.05";
|
||||
|
||||
home = {
|
||||
username = builtins.elemAt (st.splitString "@" usernameAtHostname) 0;
|
||||
homeDirectory = "/home/" + config.home.username;
|
||||
username = "pan";
|
||||
homeDirectory = "/home/pan";
|
||||
packages = config.extraPkgs;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,25 +1,30 @@
|
|||
{ config, inputs, pkgs, lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
|
||||
options.ags = {
|
||||
enable = lib.mkEnableOption "Enable ags";
|
||||
};
|
||||
|
||||
config.warnings = lib.mkIf config.ags.enable [''
|
||||
ags.enable has been deprecated to allow the removal of ags from flake
|
||||
inputs.
|
||||
''];
|
||||
|
||||
imports = [ inputs.ags.homeManagerModules.default ];
|
||||
# imports = [ inputs.ags.homeManagerModules.default ];
|
||||
|
||||
config = lib.mkIf config.ags.enable {
|
||||
home.packages = with pkgs; [
|
||||
libnotify # Notifications through ags
|
||||
];
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
configDir = ./config;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
gtksourceview
|
||||
webkitgtk
|
||||
accountsservice
|
||||
];
|
||||
};
|
||||
};
|
||||
# config = lib.mkIf config.ags.enable {
|
||||
# home.packages = with pkgs; [
|
||||
# libnotify # Notifications through ags
|
||||
# ];
|
||||
# programs.ags = {
|
||||
# enable = true;
|
||||
# configDir = ./config;
|
||||
#
|
||||
# extraPackages = with pkgs; [
|
||||
# gtksourceview
|
||||
# webkitgtk
|
||||
# accountsservice
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,12 +17,14 @@ in {
|
|||
forgejoPassword = {
|
||||
owner = "forgejo";
|
||||
};
|
||||
caddyApi = {};
|
||||
};
|
||||
};
|
||||
|
||||
caddy = {
|
||||
enable = true;
|
||||
adminEmail = email;
|
||||
environmentFile = config.sops.secrets.caddyApi.path;
|
||||
vhosts = {
|
||||
"juri.woach.me" = {
|
||||
extraConfig = ''
|
||||
|
|
@ -39,6 +41,12 @@ in {
|
|||
extraConfig = ''
|
||||
reverse_proxy :${builtins.toString config.headscale.server.port}
|
||||
'';
|
||||
serverAliases = [ "*.dns.ginko.woach.me" ];
|
||||
};
|
||||
"juri.${config.services.headscale.settings.dns.base_domain}" = {
|
||||
extraConfig = ''
|
||||
reverse_proxy :${builtins.toString config.fava.port}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -1,10 +1,7 @@
|
|||
pdsEnv: ENC[AES256_GCM,data:W1kKvcntrBOSgo7gLxwO8A9ZkWjkRWfUDZUMy5YNvhzqYS5xBPGL4QEcknWtQaVfaZklnO/+Gr5JEq/qgU2nIEY3xazfjYl4MNkZBhuwI20RwZB9voVubzHbPwjLtZbNTXRMa7BzO6a3ieSudKWAMP0dumG3/+wHtTYOM6lxUBfpw51+lNikc7kLqI+lzys0jC37ajP0/cm/U644BD0ozSSF289CLtXSkLt8sgHvA1ci8M+wEEq4aJ0JTVs98m0E7Udaride4tjLelESx3hPdoVzBIEa,iv:sQiYE//UGGA2qPfbM9//FcKEued6t8ORiKW8kfzLtz0=,tag:Fj+CzBgL8MH/6FLnUadIPQ==,type:str]
|
||||
forgejoPassword: ENC[AES256_GCM,data:cQJJbf07v4HngeSYE2TwTcAx8WY=,iv:533TO2MfJVop93U4T7yIIiu6i4swDtduFuu79ZzFYFU=,tag:Pz5u/NqOSTKz2zFNzNLY5w==,type:str]
|
||||
caddyApi: ENC[AES256_GCM,data:mWb/pMr1cxbz6K2ZQkV3AF93/GtIPZyYrJfDDbisK3GhMlWOVZNWDzw7cC/e+1w5aSxeGmOAE13eETVpV9q8W2Bjg8IADn/4j8Su90LxAr+U77pVoF0gUvv1CagEXM8myx+GgaAG80xIeSUNUMOMsgUhJTBoaMrVpHDEPREsa9XyRzEB4X3uQnKx4tUNcUqGSUu5wvMfXDF7rNzJhkVEfE6i,iv:h5QLei1PcZUc4djaqbId9VFv8Rr2dTa7CNowxZVlRUA=,tag:nBfyFVU/fBboswcVsGKL4A==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1ey3wr2wnkgny3dfgvnyrf0cptwzr7s5x464p2y9ya58lpay8lfrsds3y68
|
||||
enc: |
|
||||
|
|
@ -33,8 +30,7 @@ sops:
|
|||
N3NhMHp3V1ppclQvWTIxNkM5RjhRV0EKl8goB9tCl0BGi4jN7Fzuh0Ajm146x2Hu
|
||||
vesj+ENu2E9II3OeYuBndD+Y4x2zugIpzNOPg1V8zkarJOf7R/sXEw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-03-24T19:31:53Z"
|
||||
mac: ENC[AES256_GCM,data:5FVSw5wMXRl4qZQmD4yS7g/9qztaveDiU7mgifiOhOBqQrtvv5I/V7rkb5nKew+N3vKmg4vpWBL4kFxsQvWekAPT+ToNED4XhB5H5wZ/RyXga0CU0PMKWtGdEKdyjs4cIZjfScclW0ONgaSkv6XtCLj1V+ukPY3WBI3/2jnf6dA=,iv:7p1qEG1+E7SNLv64/aqjm1ppF4jQ/5h+Z5iHzd8sGDA=,tag:hG59vDcqha1MQf+kN1jguw==,type:str]
|
||||
pgp: []
|
||||
lastmodified: "2025-09-17T01:49:06Z"
|
||||
mac: ENC[AES256_GCM,data:THEyH3KP9VVFiP7NAPn693dolWIWByb3wSjwC9QLSTe3cgdJbFqa5GvVzFa6xM1ue/GYStMwYIZt0+3LP5Wz5B2KWNy2ljvgFXjzlDHxSOzkWi3/yP9fnuRyf0vujW2Q0ltkXMleyKSisZCD87FjuUz1J9LBYQP64e0mhyB5jL4=,iv:WUDt4AusjrQVhDFk/XSohBlmxjp6Dp6EoMe08yQ0RYg=,tag:LC2j1Bvgo7h29O9mmgIFCw==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
version: 3.10.2
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@
|
|||
|
||||
steam.enable = true;
|
||||
steam.gamemode = true;
|
||||
aagl.enable = true;
|
||||
aagl.honkai-rail = true;
|
||||
input-remapper.enable = true;
|
||||
|
||||
postgres.enable = true;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ config, inputs, lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
options.aagl = {
|
||||
|
|
@ -12,16 +12,21 @@
|
|||
"Enables honkai 3rd impact";
|
||||
};
|
||||
|
||||
imports = [ inputs.aagl.nixosModules.default ];
|
||||
# imports = [ inputs.aagl.nixosModules.default ];
|
||||
|
||||
config = lib.mkIf config.aagl.enable {
|
||||
nix.settings = inputs.aagl.nixConfig;
|
||||
config.warnings = lib.mkIf (config.aagl.enable || config.aagl.honkai-rail ||
|
||||
config.aagl.genshin || config.aagl.honkai-3rd) [''
|
||||
aagl.* has been deprecated to allow the removal of aagl from flake inputs.
|
||||
''];
|
||||
|
||||
programs.honkers-railway-launcher.enable =
|
||||
lib.mkIf config.aagl.honkai-rail true;
|
||||
programs.anime-game-launcher.enable =
|
||||
lib.mkIf config.aagl.genshin true;
|
||||
programs.honkers-launcher.enable =
|
||||
lib.mkIf config.aagl.honkai-3rd true;
|
||||
};
|
||||
# config = lib.mkIf config.aagl.enable {
|
||||
# nix.settings = inputs.aagl.nixConfig;
|
||||
#
|
||||
# programs.honkers-railway-launcher.enable =
|
||||
# lib.mkIf config.aagl.honkai-rail true;
|
||||
# programs.anime-game-launcher.enable =
|
||||
# lib.mkIf config.aagl.genshin true;
|
||||
# programs.honkers-launcher.enable =
|
||||
# lib.mkIf config.aagl.honkai-3rd true;
|
||||
# };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ config, pkgs, lib, hostname, usernameList, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
options.system = {
|
||||
|
|
@ -22,7 +22,6 @@
|
|||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
})
|
||||
{
|
||||
networking.hostName = hostname;
|
||||
system.stateVersion = lib.mkDefault "23.05";
|
||||
|
||||
time.timeZone = config.system.timezone;
|
||||
|
|
@ -39,24 +38,24 @@
|
|||
# XDG Compliance
|
||||
nix.settings.use-xdg-base-directories = true;
|
||||
|
||||
users = {
|
||||
users = builtins.listToAttrs (map (
|
||||
user: {
|
||||
name = user;
|
||||
value = {
|
||||
name = user;
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "network" ];
|
||||
};
|
||||
}
|
||||
) usernameList);
|
||||
groups = {
|
||||
wheel = {
|
||||
members = config.system.users.bigWheels;
|
||||
};
|
||||
network = { };
|
||||
};
|
||||
};
|
||||
# users = {
|
||||
# users = builtins.listToAttrs (map (
|
||||
# user: {
|
||||
# name = user;
|
||||
# value = {
|
||||
# name = user;
|
||||
# isNormalUser = true;
|
||||
# extraGroups = [ "network" ];
|
||||
# };
|
||||
# }
|
||||
# ) usernameList);
|
||||
# groups = {
|
||||
# wheel = {
|
||||
# members = config.system.users.bigWheels;
|
||||
# };
|
||||
# network = { };
|
||||
# };
|
||||
# };
|
||||
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
|
|
|
|||
|
|
@ -5,14 +5,28 @@
|
|||
enable = lib.mkEnableOption "Enables caddy webserver";
|
||||
vhosts = lib.mkOption {};
|
||||
adminEmail = lib.mkOption { type = lib.types.str; };
|
||||
environmentFile = lib.mkOption {};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.caddy.enable {
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
globalConfig = ''
|
||||
acme_dns porkbun {
|
||||
api_key {$APIKEY}
|
||||
api_secret_key {$APISECRETKEY}
|
||||
}
|
||||
'';
|
||||
package = pkgs.caddy.withPlugins {
|
||||
plugins = [ "github.com/caddy-dns/porkbun@v0.3.1" ];
|
||||
hash = "sha256-g/Nmi4X/qlqqjY/zoG90iyP5Y5fse6Akr8exG5Spf08=";
|
||||
};
|
||||
virtualHosts = config.caddy.vhosts;
|
||||
email = config.caddy.adminEmail;
|
||||
};
|
||||
systemd.services.caddy.serviceConfig.EnvironmentFile = [
|
||||
config.caddy.environmentFile
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
settings = {
|
||||
server_url = "https://${config.headscale.server.domain}";
|
||||
dns = {
|
||||
base_domain = "connect.claris";
|
||||
base_domain = "dns.${config.headscale.server.domain}";
|
||||
override_local_dns = false;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ inputs, config, lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
|
|
@ -6,18 +6,14 @@
|
|||
enable = lib.mkEnableOption "Enables hyprland";
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.hyprland.nixosModules.default
|
||||
];
|
||||
# imports = [
|
||||
# inputs.hyprland.nixosModules.default
|
||||
# ];
|
||||
|
||||
config = {
|
||||
nix.settings = {
|
||||
substituters = [ "https://hyprland.cachix.org" ];
|
||||
trusted-public-keys = [
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
programs.hyprland.enable = lib.mkIf config.hyprland.enable true;
|
||||
};
|
||||
config.warnings = lib.mkIf config.hyprland.enable [''
|
||||
hyprland.enable has been deprecated to allow the removal of hyprland from
|
||||
flake inputs.
|
||||
''];
|
||||
|
||||
# config.programs.hyprland.enable = lib.mkIf config.hyprland.enable true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue