Compare commits
2 commits
main
...
caddy-head
| Author | SHA1 | Date | |
|---|---|---|---|
| 675017114b | |||
| fce0a8e691 |
33 changed files with 1536 additions and 750 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +0,0 @@
|
||||||
result
|
|
||||||
812
flake.lock
generated
812
flake.lock
generated
|
|
@ -1,73 +1,195 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"easy-hosts": {
|
"aagl": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755470564,
|
"lastModified": 1755609725,
|
||||||
"narHash": "sha256-KB1ZryVDoQcbIsItOf4WtxkHhh3ppj+XwMpSnt/2QHc=",
|
"narHash": "sha256-r0Y5VDxpiA1AJy02VkmeCNudZ8/JJR1OP3ldtfce0ls=",
|
||||||
"owner": "tgirlcloud",
|
"owner": "ezKEa",
|
||||||
"repo": "easy-hosts",
|
"repo": "aagl-gtk-on-nix",
|
||||||
"rev": "d0422bc7b3db26268982aa15d07e60370e76ee1d",
|
"rev": "7566a0bcc55dbfaeb28791c06aa02060cf5bd0bf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tgirlcloud",
|
"owner": "ezKEa",
|
||||||
"repo": "easy-hosts",
|
"repo": "aagl-gtk-on-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"ags": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"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"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769996383,
|
"lastModified": 1756474652,
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
"narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=",
|
||||||
"owner": "hercules-ci",
|
"owner": "aylur",
|
||||||
"repo": "flake-parts",
|
"repo": "astal",
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
"rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "aylur",
|
||||||
"repo": "flake-parts",
|
"repo": "astal",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"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",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"systems": "systems_2"
|
||||||
"nixvim",
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726560853,
|
||||||
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flakey-profile": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712898590,
|
||||||
|
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||||
|
"owner": "lf-",
|
||||||
|
"repo": "flakey-profile",
|
||||||
|
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lf-",
|
||||||
|
"repo": "flakey-profile",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"pre-commit-hooks",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769996383,
|
"lastModified": 1709087332,
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "gitignore.nix",
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "gitignore.nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_4"
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770654520,
|
"lastModified": 1757075491,
|
||||||
"narHash": "sha256-mg5WZMIPGsFu9MxSrUcuJUPMbfMsF77el5yb/7rc10k=",
|
"narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6c4fdbe1ad198fac36c320fd45c5957324a80b8e",
|
"rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -76,23 +198,331 @@
|
||||||
"type": "github"
|
"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",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lix-module": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"flakey-profile": "flakey-profile",
|
||||||
|
"lix": "lix",
|
||||||
|
"nixpkgs": "nixpkgs_7"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1732605668,
|
||||||
|
"narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=",
|
||||||
|
"rev": "f19bd752910bbe3a861c9cad269bd078689d50fe",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
"niri-unstable": "niri-unstable",
|
"niri-unstable": "niri-unstable",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_8",
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770620836,
|
"lastModified": 1757071535,
|
||||||
"narHash": "sha256-HPoMvo/EqIr6xDDRlk6DGZYdu1Hte7lGLZaGZ5017Uc=",
|
"narHash": "sha256-I3ppQKxd2oxQfwMCW04TSWnIwp5an5kTMY+tx0W8jaA=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "ff1edce403a67cfac7bf1038d348f2ef457ac691",
|
"rev": "efa08fc58d7da5be64cfebc52b7dc44bf8d19ba9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -121,11 +551,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770394959,
|
"lastModified": 1756926064,
|
||||||
"narHash": "sha256-if7bIsomdceIufOhkFwN74rFY/pLCWPynRxGyol2viQ=",
|
"narHash": "sha256-5/1vyFRLvJWxhBgpPaV2orC0pjSgIny6JM6+joLyZok=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "ab47f5cec4c1c5758afeb91c0c98554ffd3433db",
|
"rev": "c69464c1288789020d9a086f86c970a7dc49b8c7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -136,99 +566,243 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770537093,
|
"lastModified": 1754498491,
|
||||||
"narHash": "sha256-XV30uo8tXuxdzuV8l3sojmlPRLd/8tpMsOp4lNzLGUo=",
|
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
|
||||||
"rev": "fef9403a3e4d31b0a23f0bacebbec52c248fbb51",
|
"owner": "nixos",
|
||||||
"type": "tarball",
|
"repo": "nixpkgs",
|
||||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre942631.fef9403a3e4d/nixexprs.tar.xz"
|
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
|
||||||
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"owner": "nixos",
|
||||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770464364,
|
"lastModified": 1757020766,
|
||||||
"narHash": "sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY=",
|
"narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "23d72dabcb3b12469f57b37170fcbc1789bd7457",
|
"rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.11",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixvim": {
|
"nixpkgs_10": {
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770630823,
|
"lastModified": 1744868846,
|
||||||
"narHash": "sha256-5SEmOnJ61vmbap39vzWEsCX5UQ+3Ul8J4mXWKdqSn3w=",
|
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
|
||||||
"owner": "nix-community",
|
"owner": "NixOS",
|
||||||
"repo": "nixvim",
|
"repo": "nixpkgs",
|
||||||
"rev": "6acc964664ac916c64fe4e394edd467af4d90790",
|
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "NixOS",
|
||||||
"repo": "nixvim",
|
"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"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"easy-hosts": "easy-hosts",
|
"aagl": "aagl",
|
||||||
"flake-parts": "flake-parts",
|
"ags": "ags",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"hyprland": "hyprland",
|
||||||
|
"hyprland-contrib": "hyprland-contrib",
|
||||||
|
"lix-module": "lix-module",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_9",
|
||||||
"nixvim": "nixvim",
|
|
||||||
"silentSDDM": "silentSDDM",
|
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"silentSDDM": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_2"
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769900466,
|
"lastModified": 1754575663,
|
||||||
"narHash": "sha256-WeoJBj/PhqFCCJEIycTipqPbKm5BpQT2uzFTYcYZ30I=",
|
"narHash": "sha256-afOx8AG0KYtw7mlt6s6ahBBy7eEHZwws3iCRoiuRQS4=",
|
||||||
"owner": "uiriansan",
|
"owner": "oxalica",
|
||||||
"repo": "SilentSDDM",
|
"repo": "rust-overlay",
|
||||||
"rev": "a44caf771b4cb72f5c2514f7d488455b0fa860d2",
|
"rev": "6db0fb0e9cec2e9729dc52bf4898e6c135bb8a0f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "uiriansan",
|
"owner": "oxalica",
|
||||||
"repo": "SilentSDDM",
|
"repo": "rust-overlay",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_10"
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770683991,
|
"lastModified": 1754988908,
|
||||||
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=",
|
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033",
|
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -238,6 +812,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
|
@ -252,6 +841,47 @@
|
||||||
"type": "github"
|
"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": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -272,11 +902,11 @@
|
||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770583271,
|
"lastModified": 1756869116,
|
||||||
"narHash": "sha256-Q75S8cEqJoZ92s1y4zArvk2U1ayAy2E4SaF7gbNXkYQ=",
|
"narHash": "sha256-SGcqX3amLH4xiA+dwF2Fu2mt1O8zHc60v0+NEZGDJhw=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "86f5bd5d867ad6e120935dfe825f6b903ebbeddd",
|
"rev": "41e865c8d35468c67b991ef5a245a98b3e44108c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
174
flake.nix
174
flake.nix
|
|
@ -1,106 +1,94 @@
|
||||||
{
|
{
|
||||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
inputs = {
|
||||||
imports = with inputs; [
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
easy-hosts.flakeModule
|
|
||||||
home-manager.flakeModules.home-manager
|
|
||||||
];
|
|
||||||
|
|
||||||
systems = [ "x86_64-linux" ];
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
easy-hosts = {
|
|
||||||
autoConstruct = true;
|
|
||||||
path = ./hosts;
|
|
||||||
onlySystem = "x86_64-nixos";
|
|
||||||
|
|
||||||
shared = {
|
lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
|
||||||
modules = [
|
|
||||||
# inputs.lix-module.nixosModules.default
|
|
||||||
./nixosModules
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
flake = {
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland";
|
||||||
homeConfigurations = let
|
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||||
userConfig = system: extraModules:
|
|
||||||
inputs.home-manager.lib.homeManagerConfiguration {
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
extraSpecialArgs = { inherit inputs; };
|
|
||||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
modules = [
|
ags.url = "github:Aylur/ags";
|
||||||
./hmModules
|
aagl.url = "github:ezKEa/aagl-gtk-on-nix";
|
||||||
inputs.nixvim.homeModules.nixvim
|
|
||||||
] ++ 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 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs = {
|
outputs = { self, home-manager, nixpkgs, lix-module, ... }@inputs: let
|
||||||
# Save data with this url. Source:
|
system = "x86_64-linux";
|
||||||
# at://did:plc:mojgntlezho4qt7uvcfkdndg/app.bsky.feed.post/3loogwsoqok2w
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
# cid: bafyreidhuuxs3cuabneygtxir65hnd7hvy4hwj5rwrylpwmp7jhxciasve
|
fs = pkgs.lib.fileset;
|
||||||
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
|
st = pkgs.lib.strings;
|
||||||
|
as = pkgs.lib.attrsets;
|
||||||
|
|
||||||
home-manager = {
|
hosts = let
|
||||||
type = "github";
|
hostFilter = { name, ...}: name == "host.nix";
|
||||||
owner = "nix-community";
|
hostPaths = fs.toList (fs.fileFilter hostFilter ./hosts);
|
||||||
repo = "home-manager";
|
# Assumes dir structure is start_of_path/hosts/hostname/host.nix
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
flake-parts = {
|
hostConfig = hostname: hostpath: nixpkgs.lib.nixosSystem {
|
||||||
type = "github";
|
specialArgs = let
|
||||||
owner = "hercules-ci";
|
hostFilteredUsers = as.filterAttrs (
|
||||||
repo = "flake-parts";
|
name: value: let
|
||||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
userHostname = builtins.elemAt (st.splitString "@" name) 1;
|
||||||
};
|
in userHostname == hostname
|
||||||
|
) users;
|
||||||
|
|
||||||
easy-hosts = {
|
hostUsers = as.mapAttrsToList (
|
||||||
type = "github";
|
name: value: builtins.elemAt (st.splitString "@" name) 0
|
||||||
owner = "tgirlcloud";
|
) hostFilteredUsers;
|
||||||
repo = "easy-hosts";
|
in {
|
||||||
};
|
inherit inputs;
|
||||||
|
inherit hostname;
|
||||||
# lix = {
|
"usernameList" = hostUsers;
|
||||||
# url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
|
};
|
||||||
# flake = false;
|
modules = [
|
||||||
# };
|
./nixosModules
|
||||||
#
|
hostpath
|
||||||
# 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";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixvim = {
|
|
||||||
type = "github";
|
|
||||||
owner = "nix-community";
|
|
||||||
repo = "nixvim";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
sops-nix = {
|
|
||||||
type = "github";
|
|
||||||
owner = "Mic92";
|
|
||||||
repo = "sops-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
silentSDDM = {
|
|
||||||
type = "github";
|
|
||||||
owner = "uiriansan";
|
|
||||||
repo = "SilentSDDM";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
nixosConfigurations = builtins.mapAttrs (name: path: hostConfig name path) hosts;
|
||||||
|
homeConfigurations = builtins.mapAttrs (name: path: userConfig name path) users;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
options.beets = {
|
|
||||||
enable = lib.mkEnableOption "Enables beets music";
|
|
||||||
plugins = {
|
|
||||||
the.enable = lib.mkOption { default = true; };
|
|
||||||
ftintitle.enable = lib.mkOption { default = true; };
|
|
||||||
lyrics.enable = lib.mkOption { default = true; };
|
|
||||||
fetchart = {
|
|
||||||
enable = lib.mkOption { default = true; };
|
|
||||||
embed = lib.mkOption { default = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.beets.enable {
|
|
||||||
programs.beets.enable = true;
|
|
||||||
|
|
||||||
programs.beets.settings = {
|
|
||||||
directory = "${config.xdg.userDirs.music}";
|
|
||||||
library = "${config.xdg.userDirs.music}.db";
|
|
||||||
|
|
||||||
paths.default = with config.beets.plugins; let
|
|
||||||
# raw_artist = if ftintitle.enable
|
|
||||||
# then "$album_artist_no_feat"
|
|
||||||
# else "$albumartist";
|
|
||||||
raw_artist = "$albumartist";
|
|
||||||
artist = if the.enable
|
|
||||||
then "%the{${raw_artist}}/"
|
|
||||||
else raw_artist;
|
|
||||||
|
|
||||||
the_rest = "$album%aunique{}/$track $title";
|
|
||||||
in artist + the_rest;
|
|
||||||
|
|
||||||
embedart = with config.beets.plugins.fetchart;
|
|
||||||
lib.mkIf (enable && embed) {
|
|
||||||
maxwidth = 500;
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins = with lib; with config.beets.plugins;
|
|
||||||
optional (the.enable) "the" ++
|
|
||||||
optional (ftintitle.enable) "ftintitle" ++
|
|
||||||
optional (lyrics.enable) "lyrics" ++
|
|
||||||
optional (fetchart.enable) "fetchart" ++
|
|
||||||
optional (fetchart.embed) "embedart" ++ [
|
|
||||||
"musicbrainz"
|
|
||||||
"info"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -12,12 +12,10 @@
|
||||||
config = lib.mkIf config.git.enable {
|
config = lib.mkIf config.git.enable {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
userName = config.git.username;
|
||||||
user = {
|
userEmail = config.git.email;
|
||||||
name = config.git.username;
|
extraConfig = {
|
||||||
email = config.git.email;
|
user.signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
|
||||||
signingkey = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
|
|
||||||
};
|
|
||||||
gpg.format = "ssh";
|
gpg.format = "ssh";
|
||||||
commit.gpgSign = "true";
|
commit.gpgSign = "true";
|
||||||
tag.gpgSign = "true";
|
tag.gpgSign = "true";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{ config, lib, ... }:
|
{ config, inputs, pkgs, lib, ... }:
|
||||||
# let rootPath = ./.; in
|
let rootPath = ./.; in
|
||||||
{
|
{
|
||||||
options.hypr = {
|
options.hypr = {
|
||||||
enable = lib.mkEnableOption "Enables hyprland";
|
enable = lib.mkEnableOption "Enables hyprland";
|
||||||
|
|
@ -34,224 +34,220 @@
|
||||||
polkit.enable = lib.mkEnableOption "Enables polkit agent";
|
polkit.enable = lib.mkEnableOption "Enables polkit agent";
|
||||||
screenshot.enable = lib.mkEnableOption "Enables Screenshotting";
|
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
|
config = let
|
||||||
# lopts = lib.lists.optionals;
|
lopts = lib.lists.optionals;
|
||||||
# in {
|
in {
|
||||||
# nix.settings = {
|
nix.settings = {
|
||||||
# substituters = ["https://hyprland.cachix.org"];
|
substituters = ["https://hyprland.cachix.org"];
|
||||||
# trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||||
# };
|
};
|
||||||
# } // lib.mkIf config.hypr.enable {
|
} // lib.mkIf config.hypr.enable {
|
||||||
# wayland.windowManager.hyprland = let
|
wayland.windowManager.hyprland = let
|
||||||
# mod = config.hypr.mod_key;
|
mod = config.hypr.mod_key;
|
||||||
# # p-s = let
|
# p-s = let
|
||||||
# # chw = config.hypr.workspace;
|
# chw = config.hypr.workspace;
|
||||||
# # findDefaultWs = id: if (builtins.hasAttr id chw.workspaces)
|
# findDefaultWs = id: if (builtins.hasAttr id chw.workspaces)
|
||||||
# # then (builtins.head (builtins.getAttr id chw.workspaces))
|
# then (builtins.head (builtins.getAttr id chw.workspaces))
|
||||||
# # else "";
|
# else "";
|
||||||
# # in with config.hypr.workspace; lib.mkIf primary-secondary.enable {
|
# in with config.hypr.workspace; lib.mkIf primary-secondary.enable {
|
||||||
# # primaryWs = findDefaultWs primary-secondary.primary;
|
# primaryWs = findDefaultWs primary-secondary.primary;
|
||||||
# # secondaryWs = findDefaultWs primary-secondary.secondary;
|
# secondaryWs = findDefaultWs primary-secondary.secondary;
|
||||||
# # };
|
# };
|
||||||
# in {
|
in {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# settings = {
|
settings = {
|
||||||
# monitor = config.hypr.monitor.details;
|
monitor = config.hypr.monitor.details;
|
||||||
# workspace = let
|
workspace = let
|
||||||
# wsMonitor = monitor: wrksps: map (ws:
|
wsMonitor = monitor: wrksps: map (ws:
|
||||||
# if ws == (builtins.head wrksps)
|
if ws == (builtins.head wrksps)
|
||||||
# then "name:"+ws+", monitor:"+monitor+", persistent:true, default:true"
|
then "name:"+ws+", monitor:"+monitor+", persistent:true, default:true"
|
||||||
# else "name:"+ws+", monitor:"+monitor+", persistent:true"
|
else "name:"+ws+", monitor:"+monitor+", persistent:true"
|
||||||
# ) wrksps;
|
) wrksps;
|
||||||
# makeRules = wsAttr: builtins.concatLists (builtins.attrValues (
|
makeRules = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||||
# builtins.mapAttrs wsMonitor wsAttr
|
builtins.mapAttrs wsMonitor wsAttr
|
||||||
# ));
|
));
|
||||||
# in makeRules config.hypr.workspace.workspaces
|
in makeRules config.hypr.workspace.workspaces
|
||||||
# ++ [
|
++ [
|
||||||
# "w[t1], gapsout:0, gapsin:0"
|
"w[t1], gapsout:0, gapsin:0"
|
||||||
# "w[tg1], gapsout:0, gapsin:0"
|
"w[tg1], gapsout:0, gapsin:0"
|
||||||
# "f[1], gapsout:0, gapsin:0"
|
"f[1], gapsout:0, gapsin:0"
|
||||||
# ]
|
]
|
||||||
# ++ lopts config.hypr.workspace.scratchpad.enable [
|
++ lopts config.hypr.workspace.scratchpad.enable [
|
||||||
# "special:scratch, on-created-empty: [float; size 50% 50%; center] ${config.defaultApps.terminal}"
|
"special:scratch, on-created-empty: [float; size 50% 50%; center] ${config.defaultApps.terminal}"
|
||||||
# ];
|
];
|
||||||
# input = {
|
input = {
|
||||||
# accel_profile = "flat";
|
accel_profile = "flat";
|
||||||
# sensitivity = config.hypr.mouse.sensitivity;
|
sensitivity = config.hypr.mouse.sensitivity;
|
||||||
# };
|
};
|
||||||
# general = {
|
general = {
|
||||||
# gaps_in = 3;
|
gaps_in = 3;
|
||||||
# gaps_out = 3;
|
gaps_out = 3;
|
||||||
# border_size = 2;
|
border_size = 2;
|
||||||
# "col.active_border" = "rgb(F5C2E7)";
|
"col.active_border" = "rgb(F5C2E7)";
|
||||||
# "col.inactive_border" = "rgb(1E1D2F)";
|
"col.inactive_border" = "rgb(1E1D2F)";
|
||||||
# layout = "master";
|
layout = "master";
|
||||||
# };
|
};
|
||||||
# decoration = {
|
decoration = {
|
||||||
# rounding = 2;
|
rounding = 2;
|
||||||
# blur = {
|
blur = {
|
||||||
# enabled = true;
|
enabled = true;
|
||||||
# size = 12;
|
size = 12;
|
||||||
# passes = 2;
|
passes = 2;
|
||||||
# special = true;
|
special = true;
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
# animation = [
|
animation = [
|
||||||
# "windows, 1, 4, default, popin 50%"
|
"windows, 1, 4, default, popin 50%"
|
||||||
# "windowsOut, 1, 4, default, popin 50%"
|
"windowsOut, 1, 4, default, popin 50%"
|
||||||
# "windowsMove, 1, 3, default"
|
"windowsMove, 1, 3, default"
|
||||||
# "border, 1, 3, default"
|
"border, 1, 3, default"
|
||||||
# "fade, 1, 3, default"
|
"fade, 1, 3, default"
|
||||||
# "workspaces, 1, 3, default"
|
"workspaces, 1, 3, default"
|
||||||
# ];
|
];
|
||||||
# master = {
|
master = {
|
||||||
# mfact = config.hypr.master.mfact;
|
mfact = config.hypr.master.mfact;
|
||||||
# };
|
};
|
||||||
# misc = {
|
misc = {
|
||||||
# focus_on_activate = true;
|
focus_on_activate = true;
|
||||||
# };
|
};
|
||||||
#
|
|
||||||
# exec-once = lopts config.hypr.polkit.enable [
|
exec-once = lopts config.hypr.polkit.enable [
|
||||||
# "${pkgs.kdePackages.polkit-kde-agent-1}/bin/libexec/polkit-kde-authentication-agent-1"
|
"${pkgs.kdePackages.polkit-kde-agent-1}/bin/libexec/polkit-kde-authentication-agent-1"
|
||||||
# ] ++ lopts config.hypr.background.enable [
|
] ++ lopts config.hypr.background.enable [
|
||||||
# "${pkgs.swww}/bin/swww-daemon"
|
"${pkgs.swww}/bin/swww-daemon"
|
||||||
# "${pkgs.swww}/bin/swww img ${config.hypr.background.path}"
|
"${pkgs.swww}/bin/swww img ${config.hypr.background.path}"
|
||||||
# ] ++ lopts config.ags.enable [
|
] ++ lopts config.ags.enable [
|
||||||
# "ags"
|
"ags"
|
||||||
# ] ++ lopts config.beeper.enable [
|
] ++ lopts config.beeper.enable [
|
||||||
# "[workspace name:chat silent] Beeper"
|
"[workspace name:chat silent] Beeper"
|
||||||
# ];
|
];
|
||||||
#
|
|
||||||
# env = with config.hypr; [
|
env = with config.hypr; [
|
||||||
# # "HYPR_MON_PRIMARY, ${workspace.primary-secondary.primary}"
|
# "HYPR_MON_PRIMARY, ${workspace.primary-secondary.primary}"
|
||||||
# # "HYPR_MON_SECONDARY, ${workspace.primary-secondary.secondary}"
|
# "HYPR_MON_SECONDARY, ${workspace.primary-secondary.secondary}"
|
||||||
# "HYPR_WORK_DB, ${config.xdg.cacheHome}/hypr/workspace.db"
|
"HYPR_WORK_DB, ${config.xdg.cacheHome}/hypr/workspace.db"
|
||||||
# ] ++ lopts cursor.enable [
|
] ++ lopts cursor.enable [
|
||||||
# "HYPRCURSOR_THEME,${cursor.theme}"
|
"HYPRCURSOR_THEME,${cursor.theme}"
|
||||||
# "HYPRCURSOR_SIZE,${cursor.size}"
|
"HYPRCURSOR_SIZE,${cursor.size}"
|
||||||
# ] ++ lopts config.nvidia.enable [
|
] ++ lopts config.nvidia.enable [
|
||||||
# "LIBVA_DRIVER_NAME,nvidia"
|
"LIBVA_DRIVER_NAME,nvidia"
|
||||||
# "XDG_SESSION_TYPE,wayland"
|
"XDG_SESSION_TYPE,wayland"
|
||||||
# "GBM_BACKEND,nvidia-drm"
|
"GBM_BACKEND,nvidia-drm"
|
||||||
# "__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||||
# "WLR_RENDERER_ALLOW_SOFTWARE,1"
|
"WLR_RENDERER_ALLOW_SOFTWARE,1"
|
||||||
# "WLR_DRM_DEVICES,/dev/dri/card1"
|
"WLR_DRM_DEVICES,/dev/dri/card1"
|
||||||
# ];
|
];
|
||||||
#
|
|
||||||
# windowrulev2 = let
|
windowrulev2 = let
|
||||||
# workspaceDefaults = wsname: applist: map (
|
workspaceDefaults = wsname: applist: map (
|
||||||
# app: "workspace " + wsname + ", " + app
|
app: "workspace " + wsname + ", " + app
|
||||||
# ) applist;
|
) applist;
|
||||||
# allDefault = wsAttr: builtins.concatLists (builtins.attrValues (
|
allDefault = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||||
# builtins.mapAttrs workspaceDefaults wsAttr
|
builtins.mapAttrs workspaceDefaults wsAttr
|
||||||
# ));
|
));
|
||||||
# in allDefault config.hypr.workspace.defaults
|
in allDefault config.hypr.workspace.defaults
|
||||||
# ++ [
|
++ [
|
||||||
# "bordersize 0, floating:0, onworkspace:w[t1]"
|
"bordersize 0, floating:0, onworkspace:w[t1]"
|
||||||
# "rounding 0, floating:0, onworkspace:w[t1]"
|
"rounding 0, floating:0, onworkspace:w[t1]"
|
||||||
# "bordersize 0, floating:0, onworkspace:w[tg1]"
|
"bordersize 0, floating:0, onworkspace:w[tg1]"
|
||||||
# "rounding 0, floating:0, onworkspace:w[tg1]"
|
"rounding 0, floating:0, onworkspace:w[tg1]"
|
||||||
# "bordersize 0, floating:0, onworkspace:f[1]"
|
"bordersize 0, floating:0, onworkspace:f[1]"
|
||||||
# "rounding 0, floating:0, onworkspace:f[1]"
|
"rounding 0, floating:0, onworkspace:f[1]"
|
||||||
# ]
|
]
|
||||||
# ++ lopts config.hypr.xwayland.videobridge.enable [
|
++ lopts config.hypr.xwayland.videobridge.enable [
|
||||||
# "opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
"opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
||||||
# "noanim,class:^(xwaylandvideobridge)$"
|
"noanim,class:^(xwaylandvideobridge)$"
|
||||||
# "noinitialfocus,class:^(xwaylandvideobridge)$"
|
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||||
# "maxsize 1 1,class:^(xwaylandvideobridge)$"
|
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||||
# "noblur,class:^(xwaylandvideobridge)$"
|
"noblur,class:^(xwaylandvideobridge)$"
|
||||||
# ] ++ map (id: "opacity 1 override, " + id) config.hypr.windows.opaque
|
] ++ map (id: "opacity 1 override, " + id) config.hypr.windows.opaque
|
||||||
# ++ [
|
++ [
|
||||||
# "opacity 0.94 fullscreen:0"
|
"opacity 0.94 fullscreen:0"
|
||||||
# "opacity 0.79 override, class:^(${config.defaultApps.terminal})$"
|
"opacity 0.79 override, class:^(${config.defaultApps.terminal})$"
|
||||||
# ];
|
];
|
||||||
#
|
|
||||||
# # 1, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh home
|
# 1, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh home
|
||||||
# # 2, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh web
|
# 2, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh web
|
||||||
# # 3, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh med
|
# 3, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh med
|
||||||
# # 4, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh game
|
# 4, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh game
|
||||||
# # 5, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh etc
|
# 5, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh etc
|
||||||
# # _, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh hell
|
# _, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh hell
|
||||||
# # TAB, exec, $XDG_CONFIG_HOME/hypr/scripts/changesecondary.xsh
|
# TAB, exec, $XDG_CONFIG_HOME/hypr/scripts/changesecondary.xsh
|
||||||
# #
|
#
|
||||||
# # SHIFT, 1, movetoworkspacesilent, name:home
|
# SHIFT, 1, movetoworkspacesilent, name:home
|
||||||
# # SHIFT, 2, movetoworkspacesilent, name:web
|
# SHIFT, 2, movetoworkspacesilent, name:web
|
||||||
# # SHIFT, 3, movetoworkspacesilent, name:med
|
# SHIFT, 3, movetoworkspacesilent, name:med
|
||||||
# # SHIFT, 4, movetoworkspacesilent, name:game
|
# SHIFT, 4, movetoworkspacesilent, name:game
|
||||||
# # SHIFT, TAB, movetoworkspacesilent, r-1
|
# SHIFT, TAB, movetoworkspacesilent, r-1
|
||||||
#
|
|
||||||
# bind = let
|
bind = let
|
||||||
# modPrefix = kb: if (lib.strings.hasPrefix "&" kb)
|
modPrefix = kb: if (lib.strings.hasPrefix "&" kb)
|
||||||
# then ("${mod}" + kb)
|
then ("${mod}" + kb)
|
||||||
# else ("${mod}, " + kb);
|
else ("${mod}, " + kb);
|
||||||
# in map modPrefix ([
|
in map modPrefix ([
|
||||||
# "Return, exec, ${config.defaultApps.terminal}"
|
"Return, exec, ${config.defaultApps.terminal}"
|
||||||
# "&SHIFT, Q, exit"
|
"&SHIFT, Q, exit"
|
||||||
# "h, focusmonitor, l"
|
"h, focusmonitor, l"
|
||||||
# "l, focusmonitor, r"
|
"l, focusmonitor, r"
|
||||||
# "j, cyclenext,"
|
"j, cyclenext,"
|
||||||
# "k, cyclenext, prev"
|
"k, cyclenext, prev"
|
||||||
# "&SHIFT, h, movecurrentworkspacetomonitor, -1"
|
"&SHIFT, h, movecurrentworkspacetomonitor, -1"
|
||||||
# "&SHIFT, l, movecurrentworkspacetomonitor, +1"
|
"&SHIFT, l, movecurrentworkspacetomonitor, +1"
|
||||||
# "&SHIFT, j, swapnext,"
|
"&SHIFT, j, swapnext,"
|
||||||
# "&SHIFT, k, swapnext, prev"
|
"&SHIFT, k, swapnext, prev"
|
||||||
# "c, killactive"
|
"c, killactive"
|
||||||
# "f, togglefloating"
|
"f, togglefloating"
|
||||||
# "&SHIFT, f, fullscreen"
|
"&SHIFT, f, fullscreen"
|
||||||
# ] ++ (let
|
] ++ (let
|
||||||
# workspaces = builtins.concatLists (
|
workspaces = builtins.concatLists (
|
||||||
# builtins.attrValues config.hypr.workspace.workspaces);
|
builtins.attrValues config.hypr.workspace.workspaces);
|
||||||
# wsBinds = with builtins; wrksps: depth: if depth > (length wrksps)
|
wsBinds = with builtins; wrksps: depth: if depth > (length wrksps)
|
||||||
# then []
|
then []
|
||||||
# else let ws = builtins.elemAt wrksps (depth -1); in [
|
else let ws = builtins.elemAt wrksps (depth -1); in [
|
||||||
# "${toString depth}, workspace, name:${ws}"
|
"${toString depth}, workspace, name:${ws}"
|
||||||
# "&SHIFT, ${toString depth}, movetoworkspacesilent, name:${ws}"
|
"&SHIFT, ${toString depth}, movetoworkspacesilent, name:${ws}"
|
||||||
# ] ++ wsBinds wrksps (depth + 1);
|
] ++ wsBinds wrksps (depth + 1);
|
||||||
# in wsBinds workspaces 1) ++ lopts config.rofi.enable [
|
in wsBinds workspaces 1) ++ lopts config.rofi.enable [
|
||||||
# "&SHIFT, return, exec, ${pkgs.rofi}/bin/rofi -show run"
|
"&SHIFT, return, exec, ${pkgs.rofi}/bin/rofi -show run"
|
||||||
# ] ++ lopts config.hypr.screenshot.enable [
|
] ++ lopts config.hypr.screenshot.enable [
|
||||||
# "P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copy area"
|
"P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copy area"
|
||||||
# "&SHIFT, P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copysave area"
|
"&SHIFT, P, exec, ${pkgs.grimblast}/bin/grimblast --freeze copysave area"
|
||||||
# ] ++ lopts config.hypr.workspace.scratchpad.enable [
|
] ++ lopts config.hypr.workspace.scratchpad.enable [
|
||||||
# "i, togglespecialworkspace, scratch"
|
"i, togglespecialworkspace, scratch"
|
||||||
# ]);
|
]);
|
||||||
#
|
|
||||||
# bindm = map (kb: "${mod}, " + kb) [
|
bindm = map (kb: "${mod}, " + kb) [
|
||||||
# "mouse:272, movewindow"
|
"mouse:272, movewindow"
|
||||||
# "mouse:273, movewindow"
|
"mouse:273, movewindow"
|
||||||
# ];
|
];
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
#
|
|
||||||
# home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# wlr-randr # Xrandr for wayland
|
wlr-randr # Xrandr for wayland
|
||||||
# wl-clipboard # Clipboard manager for wayland
|
wl-clipboard # Clipboard manager for wayland
|
||||||
# ] ++ lopts config.hypr.xwayland.videobridge.enable [
|
] ++ lopts config.hypr.xwayland.videobridge.enable [
|
||||||
# kdePackages.xwaylandvideobridge
|
kdePackages.xwaylandvideobridge
|
||||||
# ] ++ lopts config.hypr.cursor.enable [
|
] ++ lopts config.hypr.cursor.enable [
|
||||||
# hyprcursor
|
hyprcursor
|
||||||
# ] ++ lopts config.hypr.screenshot.enable [
|
] ++ lopts config.hypr.screenshot.enable [
|
||||||
# hyprpicker # Colorpicker, needed for screenshot tool
|
hyprpicker # Colorpicker, needed for screenshot tool
|
||||||
# inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
|
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
|
||||||
# ];
|
];
|
||||||
#
|
|
||||||
# xdg.configFile."hypr-scripts" = {
|
xdg.configFile."hypr-scripts" = {
|
||||||
# source = rootPath + "/scripts";
|
source = rootPath + "/scripts";
|
||||||
# target = "hypr/scripts";
|
target = "hypr/scripts";
|
||||||
# executable = true;
|
executable = true;
|
||||||
# };
|
};
|
||||||
#
|
|
||||||
# xdg.dataFile."hypr-icons" = lib.mkIf config.hypr.cursor.enable {
|
xdg.dataFile."hypr-icons" = lib.mkIf config.hypr.cursor.enable {
|
||||||
# source = rootPath + "/icons";
|
source = rootPath + "/icons";
|
||||||
# target = "icons/";
|
target = "icons/";
|
||||||
# recursive = true;
|
recursive = true;
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
relativenumber = true;
|
relativenumber = true;
|
||||||
};
|
};
|
||||||
commands = {
|
commands = {
|
||||||
dragon-out = ''%${pkgs.dragon-drop}/bin/dragon-drop -a -x "$fx"'';
|
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
|
||||||
trash = lib.mkIf config.trash.enable ''
|
trash = lib.mkIf config.trash.enable ''
|
||||||
%${pkgs.trash-cli}/bin/trash "$fx"
|
%${pkgs.trash-cli}/bin/trash "$fx"
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -14,182 +14,156 @@
|
||||||
catppuccin.enable = lib.mkEnableOption "Enables catppuccin theme";
|
catppuccin.enable = lib.mkEnableOption "Enables catppuccin theme";
|
||||||
};
|
};
|
||||||
plugins = {
|
plugins = {
|
||||||
comments.enable = lib.mkOption { default = true; };
|
comments.enable = lib.mkEnableOption "Enables nvim-comment";
|
||||||
fugitive.enable = lib.mkOption { default = true; };
|
fugitive.enable = lib.mkEnableOption "Enables git-fugitive";
|
||||||
lualine.enable = lib.mkOption { default = true; };
|
lualine.enable = lib.mkEnableOption "Enables lualine";
|
||||||
luasnip.enable = lib.mkOption { default = false; };
|
luasnip.enable = lib.mkEnableOption "Enables luasnip snippets";
|
||||||
nvimcmp.enable = lib.mkOption { default = true; };
|
nvimcmp.enable = lib.mkEnableOption "Enables nvim completion";
|
||||||
telescope = {
|
telescope = {
|
||||||
enable = lib.mkOption { default = true; };
|
enable = lib.mkEnableOption "Enables telescope";
|
||||||
fzf.enable = lib.mkOption { default = true; };
|
fzf.enable = lib.mkEnableOption "Enables telescope-fzf";
|
||||||
};
|
};
|
||||||
treesitter.enable = lib.mkOption { default = true; };
|
treesitter.enable = lib.mkEnableOption "Enables treesitter";
|
||||||
wiki.enable = lib.mkOption { default = false; };
|
wiki.enable = lib.mkEnableOption "Enables a wiki";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./plugin/lsp.nix
|
||||||
|
./plugin/nvimcmp.nix
|
||||||
|
./plugin/telescope.nix
|
||||||
|
./plugin/treesitter.nix
|
||||||
|
];
|
||||||
|
|
||||||
config = lib.mkIf config.neovim.enable {
|
config = lib.mkIf config.neovim.enable {
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
VISUAL = "nvim";
|
VISUAL = "nvim";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.nixvim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
|
||||||
globals = {
|
extraLuaConfig = ''
|
||||||
mapleader = " ";
|
${builtins.readFile ./options.lua}
|
||||||
maplocalleader = " ";
|
'';
|
||||||
rust_recommended_style = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
opts = {
|
extraPackages = with pkgs; [
|
||||||
list = true;
|
(lib.mkIf config.neovim.languages.c.enable libclang)
|
||||||
updatetime = 750;
|
(lib.mkIf config.neovim.languages.go.enable gopls)
|
||||||
|
(lib.mkIf config.neovim.languages.nix.enable nil)
|
||||||
tabstop = 2;
|
(lib.mkIf config.neovim.languages.rust.enable rust-analyzer)
|
||||||
softtabstop = 0;
|
|
||||||
shiftwidth = 2;
|
|
||||||
smarttab = true;
|
|
||||||
expandtab = true;
|
|
||||||
|
|
||||||
colorcolumn = "81";
|
|
||||||
showmatch = true;
|
|
||||||
number = true;
|
|
||||||
relativenumber = true;
|
|
||||||
|
|
||||||
swapfile = false;
|
|
||||||
backup = false;
|
|
||||||
undofile = true;
|
|
||||||
undodir = "${config.xdg.configHome}/nvim/undodir";
|
|
||||||
|
|
||||||
smartcase = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
keymaps = with config.lib.nixvim; [
|
|
||||||
{
|
|
||||||
key = "<leader>d";
|
|
||||||
mode = "n";
|
|
||||||
action = mkRaw "vim.diagnostic.open_float";
|
|
||||||
}
|
|
||||||
# -- Easy Split Navigation
|
|
||||||
# -- nnoremap <C-J> <C-W><C-J>
|
|
||||||
# -- nnoremap <C-K> <C-W><C-K>
|
|
||||||
# -- nnoremap <C-L> <C-W><C-L>
|
|
||||||
# -- nnoremap <C-H> <C-W><C-H>
|
|
||||||
#
|
|
||||||
# -- Easy copy and pasting to external programs
|
|
||||||
# -- map <C-y> "+yy
|
|
||||||
# -- map <C-p> "+P
|
|
||||||
];
|
];
|
||||||
};
|
|
||||||
|
|
||||||
programs.nixvim.colorschemes = with config.neovim.themes; {
|
# Additional packages are added through imports
|
||||||
catppuccin = lib.mkIf catppuccin.enable {
|
plugins = let
|
||||||
enable = true;
|
lopts = lib.lists.optionals;
|
||||||
flavour = "mocha";
|
cfgp = config.neovim.plugins;
|
||||||
integrations.vimwiki = lib.mkIf wiki.enable true;
|
cfgl = config.neovim.languages;
|
||||||
};
|
cfgt = config.neovim.themes;
|
||||||
};
|
|
||||||
|
|
||||||
programs.nixvim.plugins = with config.neovim.plugins; {
|
comments = lopts cfgp.comments.enable (with pkgs.vimPlugins; [
|
||||||
comment.enable = comments.enable;
|
|
||||||
|
|
||||||
fugitive.enable = fugitive.enable;
|
|
||||||
|
|
||||||
lualine = lib.mkIf lualine.enable {
|
|
||||||
enable = true;
|
|
||||||
icons_enabled = true;
|
|
||||||
};
|
|
||||||
web-devicons.enable = lualine.enable;
|
|
||||||
|
|
||||||
luasnip.enable = luasnip.enable;
|
|
||||||
friendly-snippets.enable = luasnip.enable;
|
|
||||||
|
|
||||||
cmp = {
|
|
||||||
enable = nvimcmp.enable;
|
|
||||||
autoEnableSources = true;
|
|
||||||
settings = {
|
|
||||||
sources = [
|
|
||||||
{ name = "nvim_lsp"; }
|
|
||||||
{ name = "path"; }
|
|
||||||
{ name = "buffer"; }
|
|
||||||
] ++ lib.optional luasnip.enable { name = "cmp-luasnip"; };
|
|
||||||
|
|
||||||
mapping = with config.lib.nixvim; {
|
|
||||||
"<C-Space>" = mkRaw "cmp.mapping.abort()";
|
|
||||||
"<Tab>" = mkRaw
|
|
||||||
"cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
|
||||||
"<S-Tab>" = mkRaw
|
|
||||||
"cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
telescope = {
|
|
||||||
enable = telescope.enable;
|
|
||||||
keymaps = {
|
|
||||||
"<leader>ff" = "find_files";
|
|
||||||
"<leader>fg" = "git_files";
|
|
||||||
};
|
|
||||||
extensions = {
|
|
||||||
fzf = lib.mkIf telescope.fzf.enable {
|
|
||||||
enable = true;
|
|
||||||
fuzzy = true;
|
|
||||||
override_generic_sorter = true;
|
|
||||||
override_file_sorter = true;
|
|
||||||
case_mode = "smart_case";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
treesitter = {
|
|
||||||
enable = treesitter.enable;
|
|
||||||
highlight.enable = true;
|
|
||||||
indent.enable = true;
|
|
||||||
folding.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
vimwiki = {
|
|
||||||
enable = wiki.enable;
|
|
||||||
list = [
|
|
||||||
{
|
{
|
||||||
path = "${config.xdg.userDirs.documents}/wiki";
|
plugin = comment-nvim;
|
||||||
links_space_char = "_";
|
type = "lua";
|
||||||
ext = ".md";
|
config = "require(\"Comment\").setup()";
|
||||||
syntax = "markdown";
|
|
||||||
}
|
}
|
||||||
];
|
]);
|
||||||
};
|
|
||||||
|
|
||||||
nvim-lspconfig.enable = true;
|
fugitive = lopts cfgp.fugitive.enable (with pkgs.vimPlugins; [
|
||||||
nix.enable = config.neovim.languages.nix.enable;
|
vim-fugitive
|
||||||
rustaceanvim.enable = config.neovim.languages.rust.enable;
|
]);
|
||||||
typsecript-tools.enable = config.neovim.languages.typescript.enable;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.nixvim.lsp = {
|
luasnip-pkg = lopts cfgp.luasnip.enable (with pkgs.vimPlugins; [
|
||||||
enable = true;
|
luasnip
|
||||||
servers = with config.neovim.languages; {
|
friendly-snippets
|
||||||
clangd.enable = c.enable;
|
(lib.mkIf cfgp.nvimcmp.enable cmp_luasnip)
|
||||||
gopls.enable = go.enable;
|
]);
|
||||||
nil_ls.enable = nix.enable;
|
|
||||||
rust_analyzer.enable = rust.enable;
|
lualine = lopts cfgp.lualine.enable (with pkgs.vimPlugins; [
|
||||||
tsserver.enable = typescript.enable;
|
{
|
||||||
};
|
plugin = lualine-nvim;
|
||||||
keymaps = [
|
type = "lua";
|
||||||
{ key = "gd"; lspBufAction = "definition"; }
|
config = ''
|
||||||
{ key = "gD"; lspBufAction = "declaration"; }
|
require("lualine").setup {
|
||||||
{ key = "gi"; lspBufAction = "implementation"; }
|
options = {
|
||||||
{ key = "gt"; lspBufAction = "type_definition"; }
|
icons_enabled = true,
|
||||||
{ key = "K"; lspBufAction = "hover"; }
|
'' + lib.strings.optionalString cfgt.catppuccin.enable ''
|
||||||
] ++ lib.optional config.neovim.plugins.telescope.enable {
|
theme = "catppuccin"
|
||||||
key = "gr";
|
'' + ''
|
||||||
action = config.lib.nixvim.mkRaw
|
}
|
||||||
"require('telescope.builtin').lsp_references";
|
}
|
||||||
};
|
'';
|
||||||
|
}
|
||||||
|
nvim-web-devicons
|
||||||
|
]);
|
||||||
|
|
||||||
|
nix-pkg = lopts cfgl.nix.enable (with pkgs.vimPlugins; [
|
||||||
|
vim-nix
|
||||||
|
]);
|
||||||
|
|
||||||
|
rust-pkg = lopts cfgl.rust.enable (with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = rustaceanvim;
|
||||||
|
type = "lua";
|
||||||
|
config = ''
|
||||||
|
vim.g.rust_recommended_style = 0
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
go-pkg = lopts cfgl.go.enable (with pkgs.vimPlugins; [
|
||||||
|
go-nvim
|
||||||
|
]);
|
||||||
|
|
||||||
|
typescript-pkg = lopts cfgl.typescript.enable (with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = typescript-tools-nvim;
|
||||||
|
type = "lua";
|
||||||
|
config = ''
|
||||||
|
require("typescript-tools").setup {}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
catppuccin-pkg = lopts cfgt.catppuccin.enable (with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = catppuccin-nvim;
|
||||||
|
type = "lua";
|
||||||
|
config = ''
|
||||||
|
vim.cmd.colorscheme "catppuccin-mocha"
|
||||||
|
require('catppuccin').setup({
|
||||||
|
integrations = {
|
||||||
|
'' + lib.strings.optionalString cfgp.wiki.enable ''
|
||||||
|
vimwiki = true
|
||||||
|
'' + ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
wiki = lopts cfgp.wiki.enable (with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = vimwiki;
|
||||||
|
type = "lua";
|
||||||
|
config = ''
|
||||||
|
vim.g.vimwiki_list = {
|
||||||
|
{
|
||||||
|
path = '${config.xdg.userDirs.documents}/wiki',
|
||||||
|
links_space_char = '_',
|
||||||
|
ext = '.md',
|
||||||
|
syntax = 'markdown',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
in comments ++ fugitive ++ luasnip-pkg ++ lualine ++ nix-pkg ++ rust-pkg
|
||||||
|
++ go-pkg ++ wiki ++ catppuccin-pkg ++ typescript-pkg;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
60
hmModules/apps/neovim/options.lua
Normal file
60
hmModules/apps/neovim/options.lua
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
-- Globals
|
||||||
|
vim.g.mapleader = ' '
|
||||||
|
vim.g.maplocalleader = ' '
|
||||||
|
vim.opt.list = true
|
||||||
|
vim.bo.filetype = "on"
|
||||||
|
vim.opt.updatetime = 300
|
||||||
|
|
||||||
|
-- Indentations
|
||||||
|
vim.opt.tabstop = 2
|
||||||
|
vim.opt.softtabstop = 0
|
||||||
|
vim.opt.shiftwidth = 2
|
||||||
|
vim.opt.smarttab = true
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
|
||||||
|
-- Style
|
||||||
|
vim.opt.colorcolumn = "80"
|
||||||
|
vim.opt.showmatch = true
|
||||||
|
vim.opt.number = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
|
-- Easy Split Navigation
|
||||||
|
-- nnoremap <C-J> <C-W><C-J>
|
||||||
|
-- nnoremap <C-K> <C-W><C-K>
|
||||||
|
-- nnoremap <C-L> <C-W><C-L>
|
||||||
|
-- nnoremap <C-H> <C-W><C-H>
|
||||||
|
|
||||||
|
-- Searching
|
||||||
|
vim.opt.smartcase = true
|
||||||
|
|
||||||
|
-- Backups
|
||||||
|
vim.opt.swapfile = false
|
||||||
|
vim.opt.backup = false
|
||||||
|
vim.opt.undofile = true
|
||||||
|
vim.opt.undodir = '/home/pan/.config/nvim/undodir'
|
||||||
|
|
||||||
|
-- Error viewing
|
||||||
|
vim.keymap.set('n', '<Leader>d', function() vim.diagnostic.open_float() end)
|
||||||
|
|
||||||
|
-- Easy copy and pasting to external programs
|
||||||
|
-- map <C-y> "+yy
|
||||||
|
-- map <C-p> "+P
|
||||||
|
|
||||||
|
-- autocmd BufRead,BufNewFile *.md call WritingMode()
|
||||||
|
-- autocmd BufRead,BufNewFile *.tex call WritingMode()
|
||||||
|
-- autocmd BufRead,BufNewFile *.svx call WritingMode()
|
||||||
|
|
||||||
|
-- autocmd BufRead,BufNewFile *.py call PythonMode()
|
||||||
|
|
||||||
|
-- function! WritingMode()
|
||||||
|
-- setlocal textwidth=80
|
||||||
|
-- setlocal wrap linebreak nolist
|
||||||
|
-- setlocal whichwrap+=<,>,h,l
|
||||||
|
-- nnoremap j gj
|
||||||
|
-- nnoremap k gk
|
||||||
|
-- setlocal spell spelllang=en_us
|
||||||
|
-- endfunction
|
||||||
|
-- function! PythonMode()
|
||||||
|
-- setlocal foldmethod=indent
|
||||||
|
-- setlocal foldlevel=99
|
||||||
|
-- endfunction
|
||||||
53
hmModules/apps/neovim/plugin/lsp.nix
Normal file
53
hmModules/apps/neovim/plugin/lsp.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.neovim.enable {
|
||||||
|
programs.neovim.plugins = let
|
||||||
|
cfgp = config.neovim.plugins;
|
||||||
|
cfgl = config.neovim.languages;
|
||||||
|
|
||||||
|
configText = ''
|
||||||
|
local on_attach = function(_, bufnr)
|
||||||
|
|
||||||
|
local bufmap = function(keys, func)
|
||||||
|
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||||
|
end
|
||||||
|
|
||||||
|
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||||
|
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||||
|
|
||||||
|
bufmap('gd', vim.lsp.buf.definition)
|
||||||
|
bufmap('gD', vim.lsp.buf.declaration)
|
||||||
|
bufmap('gI', vim.lsp.buf.implementation)
|
||||||
|
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||||
|
|
||||||
|
'' + lib.strings.optionalString cfgp.telescope.enable ''
|
||||||
|
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||||
|
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||||
|
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||||
|
'' + ''
|
||||||
|
|
||||||
|
bufmap('K', vim.lsp.buf.hover)
|
||||||
|
|
||||||
|
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||||
|
vim.lsp.buf.format()
|
||||||
|
end, {})
|
||||||
|
end
|
||||||
|
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
'' + lib.strings.optionalString cfgl.c.enable ''
|
||||||
|
require('lspconfig').clangd.setup {}
|
||||||
|
'' + lib.strings.optionalString cfgl.go.enable ''
|
||||||
|
require('lspconfig').gopls.setup {}
|
||||||
|
'' + lib.strings.optionalString cfgl.nix.enable ''
|
||||||
|
require('lspconfig').nil_ls.setup {}
|
||||||
|
'';
|
||||||
|
in with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = nvim-lspconfig;
|
||||||
|
type = "lua";
|
||||||
|
config = configText;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
72
hmModules/apps/neovim/plugin/nvimcmp.nix
Normal file
72
hmModules/apps/neovim/plugin/nvimcmp.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfgp = config.neovim.plugins;
|
||||||
|
in {
|
||||||
|
config = lib.mkIf (config.neovim.enable && cfgp.nvimcmp.enable) {
|
||||||
|
programs.neovim.plugins = let
|
||||||
|
|
||||||
|
configText = ''
|
||||||
|
local cmp = require('cmp')
|
||||||
|
'' + lib.strings.optionalString cfgp.luasnip.enable ''
|
||||||
|
local luasnip = require('luasnip')
|
||||||
|
|
||||||
|
require('luasnip.loaders.from_vscode').lazy_load()
|
||||||
|
luasnip.config.setup {}
|
||||||
|
'' + ''
|
||||||
|
|
||||||
|
cmp.setup {
|
||||||
|
mapping = cmp.mapping.preset.insert {
|
||||||
|
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete {},
|
||||||
|
['<CR>'] = cmp.mapping.confirm {
|
||||||
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
|
select = true,
|
||||||
|
},
|
||||||
|
['<Tab>'] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
'' + lib.strings.optionalString cfgp.luasnip.enable ''
|
||||||
|
elseif luasnip.expand_or_locally_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
'' + ''
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { 'i', 's' }),
|
||||||
|
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
'' + lib.strings.optionalString cfgp.luasnip.enable ''
|
||||||
|
elseif luasnip.locally_jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
'' + ''
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, { 'i', 's' }),
|
||||||
|
},
|
||||||
|
'' + lib.strings.optionalString cfgp.luasnip.enable ''
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = 'luasnip' },
|
||||||
|
},
|
||||||
|
'' + ''
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = nvim-cmp;
|
||||||
|
type = "lua";
|
||||||
|
config = configText;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
43
hmModules/apps/neovim/plugin/telescope.nix
Normal file
43
hmModules/apps/neovim/plugin/telescope.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfgp = config.neovim.plugins;
|
||||||
|
in {
|
||||||
|
config = lib.mkIf (config.neovim.enable && cfgp.telescope.enable) {
|
||||||
|
programs.neovim.plugins = let
|
||||||
|
configText = ''
|
||||||
|
require('telescope').setup({
|
||||||
|
extensions = {
|
||||||
|
'' + lib.strings.optionalString cfgp.telescope.fzf.enable ''
|
||||||
|
fzf = {
|
||||||
|
fuzzy = true, -- false will only do exact matching
|
||||||
|
override_generic_sorter = true, -- override the generic sorter
|
||||||
|
override_file_sorter = true, -- override the file sorter
|
||||||
|
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
||||||
|
-- the default case_mode is "smart_case"
|
||||||
|
}
|
||||||
|
'' + ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
||||||
|
|
||||||
|
'' + lib.strings.optionalString cfgp.telescope.fzf.enable ''
|
||||||
|
require('telescope').load_extension('fzf')
|
||||||
|
'';
|
||||||
|
in with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = telescope-nvim;
|
||||||
|
type = "lua";
|
||||||
|
config = configText;
|
||||||
|
}
|
||||||
|
(lib.mkIf cfgp.nvimcmp.enable telescope-fzf-native-nvim)
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
(lib.mkIf cfgp.telescope.fzf.enable fzf)
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
38
hmModules/apps/neovim/plugin/treesitter.nix
Normal file
38
hmModules/apps/neovim/plugin/treesitter.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfgp = config.neovim.plugins;
|
||||||
|
cfgl = config.neovim.languages;
|
||||||
|
in {
|
||||||
|
config = lib.mkIf (config.neovim.enable && cfgp.treesitter.enable) {
|
||||||
|
programs.neovim.plugins = let
|
||||||
|
configText = ''
|
||||||
|
require('nvim-treesitter.configs').setup {
|
||||||
|
ensure_installed = {},
|
||||||
|
|
||||||
|
auto_install = false,
|
||||||
|
|
||||||
|
highlight = { enable = true },
|
||||||
|
|
||||||
|
indent = { enable = true },
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# I've tried many things, and can't get treesitter plugins changing
|
||||||
|
# dynamically. For not just have them always loaded regardless of config
|
||||||
|
treeplugs = p: [
|
||||||
|
p.tree-sitter-c
|
||||||
|
p.tree-sitter-go
|
||||||
|
p.tree-sitter-nix
|
||||||
|
p.tree-sitter-rust
|
||||||
|
p.tree-sitter-typescript
|
||||||
|
];
|
||||||
|
in with pkgs.vimPlugins; [
|
||||||
|
{
|
||||||
|
plugin = (nvim-treesitter.withPlugins treeplugs);
|
||||||
|
type = "lua";
|
||||||
|
config = configText;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -53,8 +53,8 @@
|
||||||
binds = with config.lib.niri.actions; {
|
binds = with config.lib.niri.actions; {
|
||||||
"Mod+Return".action= spawn "${config.defaultApps.terminal}";
|
"Mod+Return".action= spawn "${config.defaultApps.terminal}";
|
||||||
"Mod+Shift+Return".action = spawn "${pkgs.fuzzel}/bin/fuzzel";
|
"Mod+Shift+Return".action = spawn "${pkgs.fuzzel}/bin/fuzzel";
|
||||||
"Mod+P".action.screenshot = [];
|
"Mod+P".action = screenshot;
|
||||||
"Mod+Shift+P".action.screenshot-window = [];
|
"Mod+Shift+P".action = screenshot-window;
|
||||||
|
|
||||||
"Mod+Tab".action = switch-preset-column-width;
|
"Mod+Tab".action = switch-preset-column-width;
|
||||||
"Mod+Shift+Q".action = quit;
|
"Mod+Shift+Q".action = quit;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, usernameAtHostname, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
|
|
@ -9,15 +9,17 @@
|
||||||
browser = lib.mkOption { default = ""; };
|
browser = lib.mkOption { default = ""; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = {
|
config = let
|
||||||
|
st = lib.strings;
|
||||||
|
in {
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "pan";
|
username = builtins.elemAt (st.splitString "@" usernameAtHostname) 0;
|
||||||
homeDirectory = "/home/pan";
|
homeDirectory = "/home/" + config.home.username;
|
||||||
packages = config.extraPkgs;
|
packages = config.extraPkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.ssh.enable {
|
config = lib.mkIf config.ssh.enable {
|
||||||
programs.ssh = {
|
programs.ssh.enable = true;
|
||||||
enable = true;
|
|
||||||
enableDefaultConfig = false;
|
|
||||||
};
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
sshfs # SSH File system
|
sshfs # SSH File system
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,25 @@
|
||||||
{ config, lib, ... }:
|
{ config, inputs, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
options.ags = {
|
options.ags = {
|
||||||
enable = lib.mkEnableOption "Enable 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 {
|
config = lib.mkIf config.ags.enable {
|
||||||
# home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# libnotify # Notifications through ags
|
libnotify # Notifications through ags
|
||||||
# ];
|
];
|
||||||
# programs.ags = {
|
programs.ags = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# configDir = ./config;
|
configDir = ./config;
|
||||||
#
|
|
||||||
# extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
# gtksourceview
|
gtksourceview
|
||||||
# webkitgtk
|
webkitgtk
|
||||||
# accountsservice
|
accountsservice
|
||||||
# ];
|
];
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,7 @@
|
||||||
|
|
||||||
tuigreet.enable = true;
|
tuigreet.enable = true;
|
||||||
niri.enable = true;
|
niri.enable = true;
|
||||||
tailscale.enable = true;
|
|
||||||
|
|
||||||
postgres.enable = true;
|
postgres.enable = true;
|
||||||
|
|
||||||
shell.enabledShells = [ "fish" ];
|
shell.enabledShells = [ "fish" ];
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[Kabal]
|
["TheKabal2.4"]
|
||||||
|
|
||||||
["DropboxGuest3.0"]
|
["DropboxGuest3.0"]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
wireless: ENC[AES256_GCM,data:VU8tpeCgEFSUC490q1hGgBrdFFscL2QybywlpiFG3suofj2Q2VVXKLK4EpF2ebpf/nBf/ggHv/uoSFxuQYYvIsMIo1bYOKvM5QNMi9HO2KmfFbmQYYzmt5CNNh9tno9wmiekeDOnKjQDGK5CoGLD4+y+VW1IVrN9XL+xRxAszgYM4qdSim7CJ1hgU89OgzVL9poVsmqxbiuWY88+ZErIspSHO0QwGOJ5Pc4OixEK2N3EtcYDhV5fBvlFv7t4b8P6BJZIn2NVXCVaW4UcEsefcxHqohd5AuYXJH7wt9aPwJRJehxd9GhVJeQ6QtPXuqZaEspd+dSvlYrvdO8pFTrIklrty30CJg3WberWmI111T8ZNFlNBghSu6nXzO9YkKfDuAYUEPVERL9jG9xF8tGb1JxhOmg33Kg6fg==,iv:07Reckni7LSfDL3qVUv4v80IOVQSbFpz49UsyiIDGWk=,tag:iMgCspLUWNCjjYT0pkMwDw==,type:str]
|
wireless: ENC[AES256_GCM,data:pQv+gdAW8W9nSEJkbXWex47iuuqgJMEELldFsmgk2Y08MDZ1ytXqlphTK/jbewD3tpz4v29fSuWamv1uZpxM2+c2zCuMVTdrhAf0i/Sjqd9CWP8NQvTDI3v8ps9REFzR7n7hywnkfOkDNwRkmavSfCxK5k9SQLNC7De6P811/Fundb9r6oeIH2OEDBkZEHw8gYndjy6cLDUE2SY/cmxRsKWhATsCLcWKOpQa86zlT9dr9nMtYVF1AN5T4JR/7QKqJ8UT4mvhAA0OEfKv0Cf3euH24vtBrv5YxwDT6tQpOABOyOy9mWLc+bXDID/HX4akeU1O6+eBSpNeRgpAcMfD6b/eqKAvDvnixHubu9GemVspmeoA/91i5B70u3kjm0EKup7KLXCp5RutLnLRczDPdfbCB7bEipeRyF8P+UCuhQ==,iv:WN7mGyHpaMDdLRpFGyDUQ2D9a0t/rucfyKroJYqaHPs=,tag:7KTzBEt30nqCJclDgiWuKg==,type:str]
|
||||||
sops:
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
age:
|
age:
|
||||||
- recipient: age1ey3wr2wnkgny3dfgvnyrf0cptwzr7s5x464p2y9ya58lpay8lfrsds3y68
|
- recipient: age1ey3wr2wnkgny3dfgvnyrf0cptwzr7s5x464p2y9ya58lpay8lfrsds3y68
|
||||||
enc: |
|
enc: |
|
||||||
|
|
@ -19,7 +23,8 @@ sops:
|
||||||
Ky83VFhiVE9wK01UMDlSbnIrd2d2SHcKp6mF8PaR0ItrvLHpEgMe6fwuboyrrs9y
|
Ky83VFhiVE9wK01UMDlSbnIrd2d2SHcKp6mF8PaR0ItrvLHpEgMe6fwuboyrrs9y
|
||||||
7Ct6qZ1SN/4f/xJpDP2qiaQ4KTZzY1BlC3isT3CWeajOQhL/y5JCOw==
|
7Ct6qZ1SN/4f/xJpDP2qiaQ4KTZzY1BlC3isT3CWeajOQhL/y5JCOw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-08-27T05:30:04Z"
|
lastmodified: "2024-11-07T21:12:36Z"
|
||||||
mac: ENC[AES256_GCM,data:hoSykxuHPAofdbXNJCyozeQYYhg3yXLOVx+K9PsSctUMrIc9ii76SDGY2h+6gFNy1rGkPxmYHueqHEJHvvoxLHcwkwoN8AddOVrnXNoIpOvwcn0GfpPIPf5rCvxSxvcsZwPW+affMMVRyRR8aJ3llj7ojuuuyTnm+HL9H9vY1PQ=,iv:pUXl49AqRerTlGoOzoWt0NrEo8rqPmBF7yiB4ZufC3M=,tag:1mP3jsP2O6yKlJVmaA7EMQ==,type:str]
|
mac: ENC[AES256_GCM,data:z0ePEvsEKvcMca2x2qjTsSBwk+qI3jd8h2uAnSsGtJL5UI1OdBL8oVIGKty0pGaCvtrF01UN1ncKBGe5y12Vij2yuyv7LK4ANArxQ4+O583NdYHYeD+T75yGu4SAYjcoM23RD1h+W0SLQpCen2J3WYmJaOjtqMBv/gaFYl/DV7I=,iv:VJjZTd1g4oJCDLEp8+jH15Y2svTNtQUE1vc3WQoJJZU=,tag:4U7uh6U5PwHJ2r6/WFUbnw==,type:str]
|
||||||
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.9.1
|
||||||
|
|
|
||||||
10
hosts/juri/users/badtz/user.nix
Normal file
10
hosts/juri/users/badtz/user.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
fish.enable = true;
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
username = "Badtz";
|
||||||
|
email = "may@badtz.dev";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -4,10 +4,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
];
|
];
|
||||||
nvidia = {
|
nvidia.enable = true;
|
||||||
enable = true;
|
|
||||||
stable = true;
|
|
||||||
};
|
|
||||||
pipewire.enable = true;
|
pipewire.enable = true;
|
||||||
polkit.enable = true;
|
polkit.enable = true;
|
||||||
tablet.enable = true;
|
tablet.enable = true;
|
||||||
|
|
@ -18,11 +15,13 @@
|
||||||
sshd.enable = true;
|
sshd.enable = true;
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
|
|
||||||
sddm.enable = true;
|
tuigreet.enable = true;
|
||||||
niri.enable = true;
|
niri.enable = true;
|
||||||
|
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
steam.gamemode = true;
|
steam.gamemode = true;
|
||||||
|
aagl.enable = true;
|
||||||
|
aagl.honkai-rail = true;
|
||||||
input-remapper.enable = true;
|
input-remapper.enable = true;
|
||||||
|
|
||||||
postgres.enable = true;
|
postgres.enable = true;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# "DP-2" = [
|
# "DP-2" = [
|
||||||
|
|
@ -28,8 +28,9 @@
|
||||||
mouse.accel = -0.53;
|
mouse.accel = -0.53;
|
||||||
outputs = {
|
outputs = {
|
||||||
"DP-1" = {
|
"DP-1" = {
|
||||||
position = { x = 2560; y = 0; };
|
position = { x = 2560; y = -100; };
|
||||||
mode = { width = 2560; height = 1440; refresh = 144.000; };
|
mode = { width = 2560; height = 1440; refresh = 144.000; };
|
||||||
|
transform.rotation = 270;
|
||||||
};
|
};
|
||||||
"DP-2" = {
|
"DP-2" = {
|
||||||
position = { x = 0; y = 0; };
|
position = { x = 0; y = 0; };
|
||||||
|
|
@ -66,18 +67,28 @@
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
zathura.enable = true;
|
zathura.enable = true;
|
||||||
feh.enable = true;
|
feh.enable = true;
|
||||||
beets.enable = true;
|
|
||||||
|
|
||||||
neovim = {
|
neovim.enable = true;
|
||||||
enable = true;
|
neovim.languages = {
|
||||||
languages = {
|
c.enable = true;
|
||||||
c.enable = true;
|
nix.enable = true;
|
||||||
nix.enable = true;
|
rust.enable = true;
|
||||||
rust.enable = true;
|
typescript.enable = true;
|
||||||
typescript.enable = true;
|
|
||||||
};
|
|
||||||
themes.catppuccin.enable = true;
|
|
||||||
};
|
};
|
||||||
|
neovim.plugins = {
|
||||||
|
comments.enable = true;
|
||||||
|
fugitive.enable = true;
|
||||||
|
lualine.enable = true;
|
||||||
|
luasnip.enable = true;
|
||||||
|
nvimcmp.enable = true;
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
fzf.enable = true;
|
||||||
|
};
|
||||||
|
treesitter.enable = true;
|
||||||
|
wiki.enable = true;
|
||||||
|
};
|
||||||
|
neovim.themes.catppuccin.enable = true;
|
||||||
|
|
||||||
lf.enable = true;
|
lf.enable = true;
|
||||||
lf.hiddenfiles = [
|
lf.hiddenfiles = [
|
||||||
|
|
@ -93,7 +104,14 @@
|
||||||
|
|
||||||
gimp.enable = true;
|
gimp.enable = true;
|
||||||
|
|
||||||
|
beeper.enable = true;
|
||||||
discord.enable = true;
|
discord.enable = true;
|
||||||
|
|
||||||
lutris.enable = true;
|
lutris.enable = true;
|
||||||
|
|
||||||
|
extraPkgs = with pkgs; [
|
||||||
|
# Applications
|
||||||
|
logseq
|
||||||
|
claude-code
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ... }:
|
{ config, inputs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.aagl = {
|
options.aagl = {
|
||||||
|
|
@ -12,21 +12,16 @@
|
||||||
"Enables honkai 3rd impact";
|
"Enables honkai 3rd impact";
|
||||||
};
|
};
|
||||||
|
|
||||||
# imports = [ inputs.aagl.nixosModules.default ];
|
imports = [ inputs.aagl.nixosModules.default ];
|
||||||
|
|
||||||
config.warnings = lib.mkIf (config.aagl.enable || config.aagl.honkai-rail ||
|
config = lib.mkIf config.aagl.enable {
|
||||||
config.aagl.genshin || config.aagl.honkai-3rd) [''
|
nix.settings = inputs.aagl.nixConfig;
|
||||||
aagl.* has been deprecated to allow the removal of aagl from flake inputs.
|
|
||||||
''];
|
|
||||||
|
|
||||||
# config = lib.mkIf config.aagl.enable {
|
programs.honkers-railway-launcher.enable =
|
||||||
# nix.settings = inputs.aagl.nixConfig;
|
lib.mkIf config.aagl.honkai-rail true;
|
||||||
#
|
programs.anime-game-launcher.enable =
|
||||||
# programs.honkers-railway-launcher.enable =
|
lib.mkIf config.aagl.genshin true;
|
||||||
# lib.mkIf config.aagl.honkai-rail true;
|
programs.honkers-launcher.enable =
|
||||||
# programs.anime-game-launcher.enable =
|
lib.mkIf config.aagl.honkai-3rd true;
|
||||||
# lib.mkIf config.aagl.genshin true;
|
};
|
||||||
# programs.honkers-launcher.enable =
|
|
||||||
# lib.mkIf config.aagl.honkai-3rd true;
|
|
||||||
# };
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
{ config, pkgs, lib, hostname, usernameList, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.system = {
|
options.system = {
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
"Enable if you are running a non-EFI system";
|
"Enable if you are running a non-EFI system";
|
||||||
users.bigWheels = lib.mkOption { default = []; };
|
users.bigWheels = lib.mkOption { default = []; };
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
(lib.mkIf config.system.isNonEFI {
|
(lib.mkIf config.system.isNonEFI {
|
||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
|
networking.hostName = hostname;
|
||||||
system.stateVersion = lib.mkDefault "23.05";
|
system.stateVersion = lib.mkDefault "23.05";
|
||||||
|
|
||||||
time.timeZone = config.system.timezone;
|
time.timeZone = config.system.timezone;
|
||||||
|
|
@ -29,26 +30,15 @@
|
||||||
|
|
||||||
# Packages & Default Packages
|
# Packages & Default Packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nix = {
|
|
||||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
|
||||||
gc = { automatic = true; options = "--delete-older-than 5d"; };
|
|
||||||
channel.enable = false;
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = true;
|
|
||||||
keep-going = true;
|
|
||||||
use-xdg-base-directories = true;
|
|
||||||
experimental-features = [
|
|
||||||
"flakes"
|
|
||||||
"nix-command"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
neovim
|
neovim
|
||||||
xdg-user-dirs
|
xdg-user-dirs
|
||||||
] ++ config.system.extraPkgs;
|
] ++ config.system.extraPkgs;
|
||||||
|
|
||||||
|
# XDG Compliance
|
||||||
|
nix.settings.use-xdg-base-directories = true;
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
users = builtins.listToAttrs (map (
|
users = builtins.listToAttrs (map (
|
||||||
user: {
|
user: {
|
||||||
|
|
@ -59,7 +49,7 @@
|
||||||
extraGroups = [ "network" ];
|
extraGroups = [ "network" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
) [ "pan" ]);
|
) usernameList);
|
||||||
groups = {
|
groups = {
|
||||||
wheel = {
|
wheel = {
|
||||||
members = config.system.users.bigWheels;
|
members = config.system.users.bigWheels;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
'';
|
'';
|
||||||
package = pkgs.caddy.withPlugins {
|
package = pkgs.caddy.withPlugins {
|
||||||
plugins = [ "github.com/caddy-dns/porkbun@v0.3.1" ];
|
plugins = [ "github.com/caddy-dns/porkbun@v0.3.1" ];
|
||||||
hash = "sha256-NlZY/EEY9TbqrMAkSHK2aGm5AjFTvpvBXV1GW1PnXCc=";
|
hash = "sha256-g/Nmi4X/qlqqjY/zoG90iyP5Y5fse6Akr8exG5Spf08=";
|
||||||
};
|
};
|
||||||
virtualHosts = config.caddy.vhosts;
|
virtualHosts = config.caddy.vhosts;
|
||||||
email = config.caddy.adminEmail;
|
email = config.caddy.adminEmail;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, ... }:
|
{ inputs, config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -6,14 +6,18 @@
|
||||||
enable = lib.mkEnableOption "Enables hyprland";
|
enable = lib.mkEnableOption "Enables hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
# imports = [
|
imports = [
|
||||||
# inputs.hyprland.nixosModules.default
|
inputs.hyprland.nixosModules.default
|
||||||
# ];
|
];
|
||||||
|
|
||||||
config.warnings = lib.mkIf config.hyprland.enable [''
|
config = {
|
||||||
hyprland.enable has been deprecated to allow the removal of hyprland from
|
nix.settings = {
|
||||||
flake inputs.
|
substituters = [ "https://hyprland.cachix.org" ];
|
||||||
''];
|
trusted-public-keys = [
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
# config.programs.hyprland.enable = lib.mkIf config.hyprland.enable true;
|
];
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
};
|
||||||
|
programs.hyprland.enable = lib.mkIf config.hyprland.enable true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,22 +2,22 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
options.nvidia = {
|
options.nvidia = {
|
||||||
enable = lib.mkEnableOption "Enables nvidia with proprietary drivers";
|
enable = lib.mkEnableOption
|
||||||
|
"Enables nvidia with proprietary drivers";
|
||||||
open = lib.mkEnableOption "Use open nvidia option for newer cards";
|
open = lib.mkEnableOption "Use open nvidia option for newer cards";
|
||||||
stable = lib.mkEnableOption "Use stable instead of beta";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.nvidia.enable {
|
config = lib.mkIf config.nvidia.enable {
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
open = if config.nvidia.open then true else false;
|
open = if config.nvidia.open then true else false;
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
package = if config.nvidia.stable
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
then config.boot.kernelPackages.nvidiaPackages.stable
|
|
||||||
else config.boot.kernelPackages.nvidiaPackages.beta;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernelParams = [ "nvidia_drm.fbdev=1" ];
|
boot.kernelParams = [ "nvidia_drm.fbdev=1" ];
|
||||||
|
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
{ config, pkgs, lib, inputs', ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
options.sddm = {
|
|
||||||
enable = lib.mkEnableOption "enables sddm";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.sddm.enable (let
|
|
||||||
sddm-theme = inputs'.silentSDDM.packages.default.override {
|
|
||||||
theme = "catppuccin-macchiato";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
qt.enable = true;
|
|
||||||
environment.systemPackages = [ sddm-theme sddm-theme.test ];
|
|
||||||
services.displayManager.sddm = {
|
|
||||||
wayland.enable = true;
|
|
||||||
package = pkgs.kdePackages.sddm;
|
|
||||||
enable = true;
|
|
||||||
theme = sddm-theme.pname;
|
|
||||||
extraPackages = sddm-theme.propagatedBuildInputs;
|
|
||||||
settings.General = {
|
|
||||||
GreeterEnvironment = "QML2_IMPORT_PATH=${sddm-theme}/share/sddm/themes/${sddm-theme.pname}/components/,QT_IM_MODULE=qtvirtualkeyboard";
|
|
||||||
InputMethod = "qtvirtualkeyboard";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue