Merge remote-tracking branch 'refs/remotes/origin/nixos' into nixos
This commit is contained in:
commit
946cb89900
23 changed files with 824 additions and 434 deletions
380
flake.lock
380
flake.lock
|
@ -3,11 +3,11 @@
|
|||
"actions-preview-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1707037812,
|
||||
"narHash": "sha256-KUkWhXSSEXWi7NZ92F1nk/mhAgSNLrmdwAow9Odwe7k=",
|
||||
"lastModified": 1710009411,
|
||||
"narHash": "sha256-PIzXWOqmTeesPZg82iLkvLpJtOoDDljvwJq8wdvRtqQ=",
|
||||
"owner": "aznhe21",
|
||||
"repo": "actions-preview.nvim",
|
||||
"rev": "9e86d014a72a4121ee27f3d8952e1ea868c3c8c4",
|
||||
"rev": "5072b1b1065a6b22bdd46b5c21780a91d6a08071",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -26,11 +26,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707830867,
|
||||
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
|
||||
"lastModified": 1712079060,
|
||||
"narHash": "sha256-/JdiT9t+zzjChc5qQiF+jhrVhRt8figYH29rZO7pFe4=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
|
||||
"rev": "1381a759b205dff7a6818733118d02253340fd5e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -100,11 +100,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705332421,
|
||||
"narHash": "sha256-USpGLPme1IuqG78JNqSaRabilwkCyHmVWY0M9vYyqEA=",
|
||||
"lastModified": 1713532798,
|
||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "83cb93d6d063ad290beee669f4badf9914cc16ec",
|
||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -118,11 +118,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708029101,
|
||||
"narHash": "sha256-FPlAle/nl4sJRfd8eILe5M20aRJh/z2KY8ji2yBBwaI=",
|
||||
"lastModified": 1713406758,
|
||||
"narHash": "sha256-kwZvhmx+hSZvjzemKxsAqzEqWmXZS47VVwQhNrINORQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "810eccbad22cc50323b27161033399eb87658932",
|
||||
"rev": "1efd500e9805a9efbce401ed5999006d397b9f11",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -184,11 +184,11 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706830856,
|
||||
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
|
||||
"lastModified": 1712014858,
|
||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
|
||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -205,11 +205,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706830856,
|
||||
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
|
||||
"lastModified": 1712014858,
|
||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
|
||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -227,11 +227,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701473968,
|
||||
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
|
||||
"lastModified": 1709336216,
|
||||
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
|
||||
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -262,11 +262,11 @@
|
|||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -280,11 +280,11 @@
|
|||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -298,11 +298,11 @@
|
|||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -314,11 +314,11 @@
|
|||
"gen-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1707889639,
|
||||
"narHash": "sha256-pM+7hkLHBapdj6yOx2FKG5jYNfcf29rorDacLJu0hFw=",
|
||||
"lastModified": 1712049871,
|
||||
"narHash": "sha256-Bt7yJxToUnPv3JqBwWQeywIbVRqzHBqnu3NUaIxFx/M=",
|
||||
"owner": "David-Kunz",
|
||||
"repo": "gen.nvim",
|
||||
"rev": "98043162168dcc0eb5c3c31b97439ff686dc8559",
|
||||
"rev": "87fbe811155b90eea58622614809705b966009ad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -335,11 +335,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703887061,
|
||||
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -351,11 +351,11 @@
|
|||
"hawtkeys-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1706046129,
|
||||
"narHash": "sha256-mbMmepQ6TXdsqQ1X8mybvcasPRCHGYMQ+6N3IXP75sM=",
|
||||
"lastModified": 1711836933,
|
||||
"narHash": "sha256-wxxnQvIMHUbDOAbBAswueULavoIoIDHdJK7T09IHD8E=",
|
||||
"owner": "tris203",
|
||||
"repo": "hawtkeys.nvim",
|
||||
"rev": "a6ca6e4a4d07386a7ab327646c1dbf5155f09c44",
|
||||
"rev": "aeba04a4ccded2aa8c8fb5d74a3bea05a8f89dab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -373,11 +373,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1704029560,
|
||||
"narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=",
|
||||
"lastModified": 1710478346,
|
||||
"narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16",
|
||||
"rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -414,17 +414,16 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705392270,
|
||||
"narHash": "sha256-Y11fcK0ETTpfBxJ58w9amqTKuJSQ+lSs6nIV8DoplKo=",
|
||||
"lastModified": 1713682182,
|
||||
"narHash": "sha256-2RSqVmQMFmn6OjQ21SXnWC+HuSeqDLWLftRv/ZhEDZE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bf4b576f84e1ce54ec886836bae7695738aa5a6c",
|
||||
"rev": "4cec20dbf5c0a716115745ae32531e34816ecbbe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "bf4b576f84e1ce54ec886836bae7695738aa5a6c",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -433,11 +432,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706198673,
|
||||
"narHash": "sha256-bHlxFd+3QHy6eXtTzzhwVNcyxBSOxTvBuJGNUzI4C4M=",
|
||||
"lastModified": 1712505318,
|
||||
"narHash": "sha256-fzlBLhXUN6y7mzEtcGNRDXxFakBEfaj4Bmj5PuoCNaM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "contrib",
|
||||
"rev": "16884001b26e6955ff4b88b4dfe4c8986e20f153",
|
||||
"rev": "5870244b592c22558b658dbaf94f9e41afb0316f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -446,20 +445,52 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713612213,
|
||||
"narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"systems": "systems_4",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708018354,
|
||||
"narHash": "sha256-MlbqBzAjiz4Va2M/AvLN96Wq+jsCbEedhfMs5wW1yFM=",
|
||||
"lastModified": 1713660608,
|
||||
"narHash": "sha256-Wy9I4K1vuWtOv/UEpKmpDb6O8YaAY3GcC3pZu70DWMY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "fbf5ba87ce57752653f3bebf6e2be090c702836e",
|
||||
"rev": "7c3bd4c19fe47f2d92463b81d9b38651b7a1a268",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -497,16 +528,19 @@
|
|||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"xdph",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1704287638,
|
||||
"narHash": "sha256-TuRXJGwtK440AXQNl5eiqmQqY4LZ/9+z/R7xC0ie3iA=",
|
||||
"lastModified": 1713121246,
|
||||
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "6624f2bb66d4d27975766e81f77174adbe58ec97",
|
||||
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -515,13 +549,38 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713619586,
|
||||
"narHash": "sha256-fIhNlYhPhG5AJ8DxX3LaitnccnQ+X2MCL39W2Abp7mM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "9e13e0915273959bfd98a10662f678c15ac71c77",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1706639736,
|
||||
"narHash": "sha256-CaG4j9+UwBDfinxxvJMo6yOonSmSo0ZgnbD7aj2Put0=",
|
||||
"lastModified": 1708968331,
|
||||
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "cd13c2917eaa68e4c49fea0ff9cada45440d7045",
|
||||
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -546,29 +605,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lowdown-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1633514407,
|
||||
"narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
|
||||
"owner": "kristapsdz",
|
||||
"repo": "lowdown",
|
||||
"rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "kristapsdz",
|
||||
"repo": "lowdown",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"master": {
|
||||
"locked": {
|
||||
"lastModified": 1708077385,
|
||||
"narHash": "sha256-AaltTBb76jj0jQNsoItBf4scf1oVPREZ8KwGUeDDUkI=",
|
||||
"lastModified": 1713689773,
|
||||
"narHash": "sha256-4M4c9n6sYbT7Sd/RvB9pej+7BoP7X1lNrFiboNV4O7I=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4bd735b4dcfd26665dfb77ecfd52789603f03737",
|
||||
"rev": "a8a8401b7b26112a9b75d6c00306e160fe8f8cb3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -626,11 +669,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "contrib",
|
||||
"lastModified": 1708040042,
|
||||
"narHash": "sha256-8iloeE/jALIKcOcYKgTlI9i7iDW7n52Epqps27jGklU=",
|
||||
"lastModified": 1713650988,
|
||||
"narHash": "sha256-YAbwiZkKxpbM+fdTVcXmp49XtHMDYQNng/wc9L85eZs=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "04dfa2eea914086a9f42a5a00a33e9524f9fded4",
|
||||
"rev": "9e1bbb9813e0ea4e37f6325fe00e8f43617ef912",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -649,11 +692,11 @@
|
|||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708041826,
|
||||
"narHash": "sha256-zW7F31gW4HCBYcImcXxold4ntZdlEr/NTlMVhEMA5dw=",
|
||||
"lastModified": 1713657840,
|
||||
"narHash": "sha256-O99sOWro/5J4qWyIFZ3vEw+abLnzOv4jrfA7FaRoyrI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "1afaeebc41dab1029b855b17d78f2348e8dd49e3",
|
||||
"rev": "3ad9c1eae733e9ba5cc73c6833e3d62dbc12df9e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -664,11 +707,11 @@
|
|||
},
|
||||
"nix-filter": {
|
||||
"locked": {
|
||||
"lastModified": 1687178632,
|
||||
"narHash": "sha256-HS7YR5erss0JCaUijPeyg2XrisEb959FIct3n2TMGbE=",
|
||||
"lastModified": 1705332318,
|
||||
"narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=",
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"rev": "d90c75e8319d0dd9be67d933d8eb9d0894ec9174",
|
||||
"rev": "3449dc925982ad46246cfc36469baf66e1b64f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -684,11 +727,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707620986,
|
||||
"narHash": "sha256-XE0tCSkSVBeJDWhjFwusNInwAhrnp+TloUNUpvnTiLw=",
|
||||
"lastModified": 1713668931,
|
||||
"narHash": "sha256-rVlwWQlgFGGK3aPVcKmtYqWgjYnPah5FOIsYAqrMN2w=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "0cb4345704123492e6d1f1068629069413c80de0",
|
||||
"rev": "07ece11b22217b8459df589f858e92212b74f1a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -720,11 +763,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1692605628,
|
||||
"narHash": "sha256-jBasvDCk9V32JuwtPy1G4KyVAc2eaBSf2X5eRNQgIkY=",
|
||||
"lastModified": 1708169437,
|
||||
"narHash": "sha256-qR3UF6xf+ts/lCY2UlacKtNzZq/9jxsgsdXxiQ5gcPU=",
|
||||
"owner": "ners",
|
||||
"repo": "nix-monitored",
|
||||
"rev": "6be92b0c1eca7ef501b4f92735885e7cb4db414b",
|
||||
"rev": "382ed0cad468cb0b5426bf0905da573efa96c218",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -737,16 +780,15 @@
|
|||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"libgit2": "libgit2",
|
||||
"lowdown-src": "lowdown-src",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs-regression": "nixpkgs-regression"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708070219,
|
||||
"narHash": "sha256-/2fidzoXrrNwr8te2cU3JdtrpockWIjU4DpLgNr4FTo=",
|
||||
"lastModified": 1713633256,
|
||||
"narHash": "sha256-MKKP3oye1YlF4zq0cARo3BrYzinBaBSJzcdaTxatuew=",
|
||||
"owner": "privatevoid-net",
|
||||
"repo": "nix-super",
|
||||
"rev": "924eb1127a21ebf4bd7f438d7c6aca133ce1de84",
|
||||
"rev": "1a2019bb819dde804d7aed43853e31e1a6ea6ea3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -774,11 +816,11 @@
|
|||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"dir": "lib",
|
||||
"lastModified": 1706550542,
|
||||
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=",
|
||||
"lastModified": 1711703276,
|
||||
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
|
||||
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -807,11 +849,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1704874635,
|
||||
"narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=",
|
||||
"lastModified": 1710695816,
|
||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356",
|
||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -823,11 +865,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1707268954,
|
||||
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
|
||||
"lastModified": 1713254108,
|
||||
"narHash": "sha256-0TZIsfDbHG5zibtlw6x0yOp3jkInIGaJ35B7Y4G8Pec=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
|
||||
"rev": "2fd19c8be2551a61c1ddc3d9f86d748f4db94f00",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -839,11 +881,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1658161305,
|
||||
"narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=",
|
||||
"lastModified": 1712163089,
|
||||
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9",
|
||||
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -855,11 +897,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1707546158,
|
||||
"narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=",
|
||||
"lastModified": 1713537308,
|
||||
"narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0",
|
||||
"rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -871,11 +913,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1707939175,
|
||||
"narHash": "sha256-D1xan0lgxbmXDyzVqXTiSYHLmAMrMRdD+alKzEO/p3w=",
|
||||
"lastModified": 1713596654,
|
||||
"narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f7e8132daca31b1e3859ac0fb49741754375ac3d",
|
||||
"rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -887,27 +929,27 @@
|
|||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1700748986,
|
||||
"narHash": "sha256-/nqLrNU297h3PCw4QyDpZKZEUHmialJdZW2ceYFobds=",
|
||||
"lastModified": 1709083642,
|
||||
"narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9ba29e2346bc542e9909d1021e8fd7d4b3f64db0",
|
||||
"rev": "b550fe4b4776908ac2a861124307045f8e717c8e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.05-small",
|
||||
"ref": "release-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1708001613,
|
||||
"narHash": "sha256-woOmAXW05XnqlLn7dKzCkRAEOSOdA/Z2ndVvKcjid94=",
|
||||
"lastModified": 1713627711,
|
||||
"narHash": "sha256-kWlK1w/rqPBrs5rF4btRgXpzVstmNxA8rgc6kBzc89s=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "085589047343aad800c4d305cf7b98e8a3d51ae2",
|
||||
"rev": "0c97ced70e0b92d46e5e53e239fec5201f8b0811",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -919,11 +961,11 @@
|
|||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1704842529,
|
||||
"narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=",
|
||||
"lastModified": 1710765496,
|
||||
"narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5",
|
||||
"rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -952,11 +994,11 @@
|
|||
"none-ls-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1707832208,
|
||||
"narHash": "sha256-nQCxzlQZgso2rjHLVaASkStQhrC4XUpg3d8/yfrZfR0=",
|
||||
"lastModified": 1713584427,
|
||||
"narHash": "sha256-tJEyILFUEdGASYkkaoUEsKcyTWU4XLHtkNF2MJstuyY=",
|
||||
"owner": "nvimtools",
|
||||
"repo": "none-ls.nvim",
|
||||
"rev": "34b1311bd07bd3741e60e06b34d0709d6e5a9f0f",
|
||||
"rev": "88821b67e6007041f43b802f58e3d9fa9bfce684",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -967,11 +1009,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1708076655,
|
||||
"narHash": "sha256-KNRfg2szpJ19/NgXXB4s9r2+CCM90nq0MVUuvdQI+Ws=",
|
||||
"lastModified": 1713683463,
|
||||
"narHash": "sha256-4byae6EewzcPs1C1JGOts1PLVr+PlR7+FOOqJGNSBIQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1155ba6a69b8a69d7edda02321a21ff993d9300e",
|
||||
"rev": "568cd159bad8d8a2e3c2f3f7b71dd27a3d553b45",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -983,11 +1025,11 @@
|
|||
"nvim-lspconfig": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1708063340,
|
||||
"narHash": "sha256-1k3BRjNy853WjuTMUT8EjGZd9v4phuUMTZmJfZLDToM=",
|
||||
"lastModified": 1713507075,
|
||||
"narHash": "sha256-/SqLT0PG2RUWyknYpcXlcU/aUyKWZMBs35s1sPRkEmc=",
|
||||
"owner": "neovim",
|
||||
"repo": "nvim-lspconfig",
|
||||
"rev": "d1bab4cf4b69e49d6058028fd933d8ef5e74e680",
|
||||
"rev": "ed8b8a15acc441aec669f97d75f2c1f2ac8c8aa5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1005,11 +1047,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708018599,
|
||||
"narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=",
|
||||
"lastModified": 1712897695,
|
||||
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431",
|
||||
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1018,6 +1060,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"river": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1713527168,
|
||||
"narHash": "sha256-oYVyqNfXjmR6axGyki+jZVOOHFVt1YWAX08eqxtVE6c=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "9bbd34a0e31b6d429df2d39a59d8990a9585e186",
|
||||
"revCount": 1248,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/riverwm/river"
|
||||
},
|
||||
"original": {
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/riverwm/river"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"actions-preview-nvim": "actions-preview-nvim",
|
||||
|
@ -1046,6 +1106,7 @@
|
|||
"nur": "nur",
|
||||
"nvim-lspconfig": "nvim-lspconfig",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"river": "river",
|
||||
"smartcolumn-nvim": "smartcolumn-nvim",
|
||||
"stable": "stable",
|
||||
"statuscol-nvim": "statuscol-nvim",
|
||||
|
@ -1056,11 +1117,11 @@
|
|||
"smartcolumn-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1703592909,
|
||||
"narHash": "sha256-c5tENO4LJaSRELxuCOp/aI94ifhKjqd8J2chJbxfFdc=",
|
||||
"lastModified": 1710067624,
|
||||
"narHash": "sha256-DHIeDNUF9n9s14GVeojIwc5QUPwJMYYl3gRvhvO/rdE=",
|
||||
"owner": "m4xshen",
|
||||
"repo": "smartcolumn.nvim",
|
||||
"rev": "a52915d6d9abf9972e249ebcffcc651cf9b062dd",
|
||||
"rev": "cefb17be095ad5526030a21bb2a80553cae09127",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1210,11 +1271,11 @@
|
|||
"telekasten-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1702296926,
|
||||
"narHash": "sha256-Y6LVli8fMLVVRtwrpZ2uIWDUogwUtFhTB6W2RZH5S8c=",
|
||||
"lastModified": 1713339207,
|
||||
"narHash": "sha256-eg1xJUl4a+tIyJyN+UcaK0bP1o+zEo6mARFlJcsAwM8=",
|
||||
"owner": "renerocksai",
|
||||
"repo": "telekasten.nvim",
|
||||
"rev": "8c2b3889eb31009ae510a43384d1957b37654176",
|
||||
"rev": "24fd8c1e7eb989dba9efa5d174e42870f08da8fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1264,20 +1325,18 @@
|
|||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1706359063,
|
||||
"narHash": "sha256-5HUTG0p+nCJv3cn73AmFHRZdfRV5AD5N43g8xAePSKM=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "00b869c1a96f300a8f25da95d624524895e0ddf2",
|
||||
"type": "gitlab"
|
||||
"lastModified": 1713124002,
|
||||
"narHash": "sha256-vPeZCY+sdiGsz4fl3AVVujfyZyQBz6+vZdkUE4hQ+HI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "611a4f24cd2384378f6e500253983107c6656c64",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "00b869c1a96f300a8f25da95d624524895e0ddf2",
|
||||
"type": "gitlab"
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "611a4f24cd2384378f6e500253983107c6656c64",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
|
@ -1286,7 +1345,10 @@
|
|||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
|
@ -1297,11 +1359,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706521509,
|
||||
"narHash": "sha256-AInZ50acOJ3wzUwGzNr1TmxGTMx+8j6oSTzz4E7Vbp8=",
|
||||
"lastModified": 1713214484,
|
||||
"narHash": "sha256-h1bSIsDuPk1FGgvTuSHJyiU2Glu7oAyoPMJutKZmLQ8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "c06fd88b3da492b8f9067be021b9184f7012b5a8",
|
||||
"rev": "bb44921534a9cee9635304fdb876c1b3ec3a8f61",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.url = "github:nix-community/home-manager/bf4b576f84e1ce54ec886836bae7695738aa5a6c"; # FIXME:
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
master.url = "github:nixos/nixpkgs";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
|
@ -48,6 +48,10 @@
|
|||
hawtkeys-nvim.flake = false;
|
||||
hawtkeys-nvim.url = "github:tris203/hawtkeys.nvim";
|
||||
|
||||
# river
|
||||
river.url = "git+https://github.com/riverwm/river?submodules=1";
|
||||
river.flake = false;
|
||||
|
||||
# Hyprland
|
||||
hypr-contrib.url = "github:hyprwm/contrib";
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
|
|
|
@ -19,21 +19,28 @@
|
|||
gaming.enable = true;
|
||||
personal.enable = true;
|
||||
impermanence.enable = true;
|
||||
webis.enable = true;
|
||||
};
|
||||
programs.hyprland = {
|
||||
nvidiaSupport = true;
|
||||
monitors = [ "HDMI-A-1,3840x2160,auto,1.2" ",preferred,auto,1" ];
|
||||
extraConfig = "exec=hyprctl keyword monitor HDMI-A-1,3840x2160@120,auto,1.2";
|
||||
keyboardLayouts = [ "us" "de" ];
|
||||
};
|
||||
# programs.river = {
|
||||
# enable = true;
|
||||
# nvidiaSupport = true;
|
||||
# };
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.nvidiaSupport = true;
|
||||
programs.exercism.enable = true;
|
||||
services.wallpaper.enable = true;
|
||||
services.ollama.enable = true;
|
||||
programs.ledger.enable = true;
|
||||
};
|
||||
|
||||
home-manager.users.moritz.services.kanshi.profiles = {
|
||||
default = {
|
||||
outputs = [
|
||||
{ criteria = "HDMI-A-1"; mode = "3840x2160@60"; scale = 1.2; }
|
||||
];
|
||||
};
|
||||
};
|
||||
home-manager.users.moritz.home.packages = with pkgs; [
|
||||
anki
|
||||
calibre
|
||||
stable.calibre # NOTE: breaks often in unstable
|
||||
];
|
||||
|
||||
hardware = {
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
webis.enable = true;
|
||||
impermanence.enable = true;
|
||||
};
|
||||
programs.hyprland.monitors = [ "HDMI-A-1,3840x2160,auto,1.2" ",preferred,auto,1" ];
|
||||
programs.hyprland.enable = true;
|
||||
# programs.river.enable = true;
|
||||
programs.exercism.enable = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
age.secrets = {
|
||||
root-password.file = ../../secrets/root-password.age;
|
||||
moritz-password.file = ../../secrets/moritz-password.age;
|
||||
};
|
||||
users.users = {
|
||||
root.hashedPasswordFile = config.age.secrets.root-password.path;
|
||||
moritz.hashedPasswordFile = config.age.secrets.moritz-password.path;
|
||||
};
|
||||
users.mutableUsers = false;
|
||||
environment.persistence."/persist" = {
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/etc/NetworkManager/system-connections"
|
||||
"/var/db/dhcpcd/"
|
||||
"/var/lib/NetworkManager/"
|
||||
"/var/lib/bluetooth"
|
||||
"/var/lib/nixos"
|
||||
"/var/lib/systemd/coredump"
|
||||
"/var/log"
|
||||
];
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
"/etc/nix/id_rsa"
|
||||
"/etc/ssh/ssh_host_ed25519_key"
|
||||
"/etc/ssh/ssh_host_ed25519_key.pub"
|
||||
"/etc/ssh/ssh_host_rsa_key"
|
||||
"/etc/ssh/ssh_host_rsa_key.pub"
|
||||
];
|
||||
users.moritz = {
|
||||
directories = [
|
||||
".SynologyDrive/data"
|
||||
".SynologyDrive/log"
|
||||
".cache/keepassxc"
|
||||
".cache/nvim/luac"
|
||||
".config/Nextcloud"
|
||||
".config/keepassxc"
|
||||
".local/share/direnv"
|
||||
".local/share/nvim"
|
||||
".local/share/zoxide"
|
||||
".local/share/JetBrains"
|
||||
".config/JetBrains"
|
||||
".local/state/nvim"
|
||||
".config/kdeconnect"
|
||||
".cat_installer" # eduroam
|
||||
".mozilla"
|
||||
"Documents"
|
||||
"Downloads"
|
||||
"Music"
|
||||
"Pictures"
|
||||
"Videos"
|
||||
{ directory = ".gnupg"; mode = "0700"; }
|
||||
{ directory = ".local/share/keyrings"; mode = "0700"; }
|
||||
{ directory = ".ssh"; mode = "0700"; }
|
||||
];
|
||||
files = [
|
||||
".local/share/fish/fish_history"
|
||||
".local/share/nix/trusted-settings.json"
|
||||
".parallel/will-cite"
|
||||
];
|
||||
};
|
||||
users.root = {
|
||||
home = "/root";
|
||||
directories = [
|
||||
{ directory = ".gnupg"; mode = "0700"; }
|
||||
{ directory = ".ssh"; mode = "0700"; }
|
||||
];
|
||||
files = [
|
||||
".local/share/nix/trusted-settings.json"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -31,6 +31,12 @@
|
|||
}:
|
||||
|
||||
{
|
||||
my.programs.tofi.settings = {
|
||||
text-color = "#${text}";
|
||||
prompt-color = "#${red}";
|
||||
selection-color = "#${yellow}";
|
||||
background-color = "#${base}";
|
||||
};
|
||||
home-manager.users.moritz = {
|
||||
programs = {
|
||||
fzf.colors = {
|
||||
|
@ -47,6 +53,26 @@
|
|||
prompt = "#${mauve}";
|
||||
spinner = "#${rosewater}";
|
||||
};
|
||||
foot.settings.colors = {
|
||||
foreground = text; # Text
|
||||
background = base; # Base
|
||||
regular0 = surface1; # Surface 1
|
||||
regular1 = red; # red
|
||||
regular2 = green; # green
|
||||
regular3 = yellow; # yellow
|
||||
regular4 = blue;
|
||||
regular5 = pink;
|
||||
regular6 = teal;
|
||||
regular7 = subtext1;
|
||||
bright0 = surface2;
|
||||
bright1 = red;
|
||||
bright2 = green;
|
||||
bright3 = yellow;
|
||||
bright4 = blue;
|
||||
bright5 = pink;
|
||||
bright6 = teal;
|
||||
bright7 = subtext0;
|
||||
};
|
||||
kitty.extraConfig = ''
|
||||
# vim:ft=kitty
|
||||
|
||||
|
|
|
@ -31,6 +31,20 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
my.programs.tofi.settings = {
|
||||
font-size = "20";
|
||||
font =
|
||||
let
|
||||
fontBasePath = pkgs.nerdfonts.override {
|
||||
fonts = [ "FiraCode" ];
|
||||
};
|
||||
in
|
||||
"${fontBasePath}/share/fonts/truetype/NerdFonts/FiraCodeNerdFont-Regular.ttf";
|
||||
height = "360";
|
||||
width = "720";
|
||||
outline-width = "0";
|
||||
border-width = "0";
|
||||
};
|
||||
home-manager.users.moritz = {
|
||||
services.polybar = {
|
||||
config = {
|
||||
|
@ -39,7 +53,7 @@ in
|
|||
monitor = "\${env:MONITOR}";
|
||||
bottom = true;
|
||||
width = "100%";
|
||||
heigth = 15;
|
||||
height = 15;
|
||||
|
||||
border-size = 2;
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ let
|
|||
|
||||
gi = pkgs.writeFishApplication {
|
||||
name = "gi";
|
||||
runtimeInputs = with pkgs; [ fzf gum curl ];
|
||||
runtimeInputs = with pkgs; [ fzf gum curl coreutils-full ];
|
||||
text = /* fish */ ''
|
||||
set url https://www.gitignore.io/api
|
||||
|
||||
|
@ -57,10 +57,12 @@ let
|
|||
set choice (string join "," $argv[1..])
|
||||
end
|
||||
|
||||
set contents "$(curl -sL $url/$choice | head -n -2 | tail -n +4)"
|
||||
|
||||
if gum confirm "Overwrite current .gitignore?"
|
||||
curl -sL $url/$choice > .gitignore
|
||||
echo "$contents" > .gitignore
|
||||
else
|
||||
curl -sL $url/$choice >> .gitignore
|
||||
echo "$contents" >> .gitignore
|
||||
end
|
||||
'';
|
||||
completions = /* fish */ ''
|
||||
|
@ -77,7 +79,7 @@ in
|
|||
isNormalUser = true;
|
||||
home = "/home/moritz";
|
||||
extraGroups = [ "wheel" "networkmanager" "video" ];
|
||||
initialPassword = "password"; # CHANGE ME PLEASE
|
||||
# initialPassword = "password"; # CHANGE ME PLEASE
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGoAqa2m7hIzZ2LS96Z+RCIlRvhBM/j7h27tMBCwMT+a" # Moritz
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDhtwHDGAZshiQWKkCcPWV9tC83b+bKBgjDcjP/N2CKO" # Laptop
|
||||
|
@ -247,7 +249,7 @@ in
|
|||
parallel
|
||||
ripgrep
|
||||
vim
|
||||
viu
|
||||
(viu.override { withSixel = true; })
|
||||
wget
|
||||
];
|
||||
|
||||
|
|
|
@ -68,6 +68,7 @@ in
|
|||
".local/share/fish/fish_history"
|
||||
".local/share/nix/trusted-settings.json"
|
||||
".parallel/will-cite"
|
||||
".local/state/tofi-history"
|
||||
];
|
||||
};
|
||||
users.root = {
|
||||
|
|
31
modules/programs/foot.nix
Normal file
31
modules/programs/foot.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ config
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.programs.foot;
|
||||
in
|
||||
{
|
||||
options.my.programs.foot.enable = mkEnableOption "foot";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.moritz = {
|
||||
# HACK: to make foot server work
|
||||
systemd.user.services.foot.Service.Environment = lib.mkForce "PATH=/run/current-system/sw/bin/";
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
font = "FiraCode Nerd Font:size=10";
|
||||
};
|
||||
colors = {
|
||||
alpha = 0.98;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -119,7 +119,7 @@ in
|
|||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# Firefox Sharing Indicator
|
||||
${mkRules ["float" "move 49% 40" "noborder" "nofullscreenrequest"] ["title:^(.*Sharing Indicator.*)$"]}
|
||||
${mkRules ["float" "move 49% 40" "noborder"] ["title:^(.*Sharing Indicator.*)$"]}
|
||||
|
||||
# Emacs
|
||||
windowrulev2 = opaque, class:^(emacs)$
|
||||
|
@ -154,8 +154,7 @@ in
|
|||
bind = $mainMod , D , exec , hyprctl keyword general:layout dwindle
|
||||
bind = $mainMod , M , exec , hyprctl keyword general:layout master
|
||||
bind = $mainMod , R , exec , rofi -show combi
|
||||
bind = $mainMod , RETURN , exec , kitty
|
||||
bind = $mainMod SHIFT , RETURN , exec , kitty -- tmux new "ts || tn home ~"
|
||||
bind = $mainMod , RETURN , exec , systemctl --user is-active --quiet foot && footclient --no-wait || foot
|
||||
|
||||
# XF86 keys
|
||||
binde = , XF86AudioLowerVolume , exec , pamixer -d 5
|
||||
|
|
|
@ -48,7 +48,7 @@ in
|
|||
];
|
||||
programs = {
|
||||
wallpaper.enable = true;
|
||||
kitty.enable = true;
|
||||
foot.enable = true;
|
||||
rofi.enable = true;
|
||||
};
|
||||
wallpapers.enable = true;
|
||||
|
|
|
@ -38,8 +38,8 @@ in
|
|||
};
|
||||
};
|
||||
optimise.enable = mkEnableOption "nix-optimise";
|
||||
useSuper = mkEnableOption "use nix super" // { default = true; };
|
||||
useNom = mkEnableOption "use nix output monitor by default" // { default = true; };
|
||||
useSuper = mkEnableOption "use nix super";
|
||||
useNom = mkEnableOption "use nix output monitor" // { default = true; };
|
||||
};
|
||||
|
||||
config = {
|
||||
|
|
|
@ -7,65 +7,18 @@ with builtins;
|
|||
plugin = oil-nvim;
|
||||
lazy = false;
|
||||
opts = { };
|
||||
dependencies = [
|
||||
{ plugin = which-key-nvim; }
|
||||
{ plugin = nvim-web-devicons; }
|
||||
];
|
||||
dependencies = [{ plugin = nvim-web-devicons; }];
|
||||
}
|
||||
{
|
||||
plugin = lualine-nvim;
|
||||
opts = { };
|
||||
dependencies = [{ plugin = nvim-web-devicons; }];
|
||||
}
|
||||
{
|
||||
plugin = mini-nvim;
|
||||
lazy = false;
|
||||
conf = readFile ./lua/mini-nvim.lua;
|
||||
}
|
||||
{
|
||||
plugin = trouble-nvim;
|
||||
cmd = [ "TodoTelescope" ];
|
||||
keys = [
|
||||
{
|
||||
key = "<leader>cD";
|
||||
cmd = "<cmd>TroubleToggle document_diagnostics<cr>";
|
||||
desc = "Document Diagnostics (Trouble)";
|
||||
}
|
||||
{
|
||||
key = "<leader>cW";
|
||||
cmd = "<cmd>TroubleToggle workspace_diagnostics<cr>";
|
||||
desc = "Workspace Diagnostics (Trouble)";
|
||||
}
|
||||
{ key = "<leader>cl"; cmd = "<cmd>TroubleToggle loclist<cr>"; desc = "Location List (Trouble)"; }
|
||||
{ key = "<leader>cq"; cmd = "<cmd>TroubleToggle quickfix<cr>"; desc = "Quickfix List (Trouble)"; }
|
||||
{ key = "<leader>ft"; cmd = "<cmd>TodoTelescope<cr>"; desc = "Todo"; }
|
||||
{
|
||||
key = "[q";
|
||||
func = /* lua */ ''
|
||||
function()
|
||||
if require("trouble").is_open() then
|
||||
require("trouble").previous({ skip_groups = true, jump = true })
|
||||
else
|
||||
vim.cmd.cprev()
|
||||
end
|
||||
end
|
||||
'';
|
||||
desc = "Previous trouble/quickfix item";
|
||||
}
|
||||
{
|
||||
key = "]q";
|
||||
func = /* lua */ ''
|
||||
function()
|
||||
if require("trouble").is_open() then
|
||||
require("trouble").next({ skip_groups = true, jump = true })
|
||||
else
|
||||
vim.cmd.cnext()
|
||||
end
|
||||
end
|
||||
'';
|
||||
desc = "Next trouble/quickfix item";
|
||||
}
|
||||
];
|
||||
opts = { };
|
||||
dependencies = [
|
||||
{ plugin = nvim-web-devicons; }
|
||||
];
|
||||
}
|
||||
{
|
||||
plugin = nvim-cmp;
|
||||
keys = [
|
||||
|
@ -106,6 +59,7 @@ with builtins;
|
|||
conf = readFile ./lua/nvim-lspconfig.lua;
|
||||
dependencies = [
|
||||
{
|
||||
# TODO: add all required tools to neovim or silence warnings
|
||||
plugin = pkgs.vimPlugins.null-ls-nvim.overrideAttrs (_: {
|
||||
version = lib.my.mkVersionInput inputs.none-ls-nvim;
|
||||
src = inputs.none-ls-nvim;
|
||||
|
@ -118,17 +72,6 @@ with builtins;
|
|||
}
|
||||
{ plugin = which-key-nvim; }
|
||||
{ plugin = lsp_lines-nvim; }
|
||||
{
|
||||
plugin = nvim-ufo;
|
||||
conf = readFile ./lua/nvim-ufo.lua;
|
||||
dependencies = [
|
||||
{ plugin = promise-async; }
|
||||
];
|
||||
}
|
||||
{
|
||||
plugin = neodev-nvim;
|
||||
conf = readFile ./lua/neodev-nvim.lua;
|
||||
}
|
||||
{
|
||||
plugin = inc-rename-nvim;
|
||||
opts = {
|
||||
|
@ -174,6 +117,9 @@ with builtins;
|
|||
"GDelete"
|
||||
"GBrowse"
|
||||
];
|
||||
keys = [
|
||||
{ key = "<leader>gg"; cmd = "<cmd>Gedit :<cr>"; desc = "Open Status"; }
|
||||
];
|
||||
}
|
||||
{
|
||||
plugin = vim-tmux-navigator;
|
||||
|
@ -236,39 +182,6 @@ with builtins;
|
|||
event = [ "BufReadPost" "BufNewFile" ];
|
||||
opts = { };
|
||||
}
|
||||
{
|
||||
plugin = zen-mode-nvim;
|
||||
keys = [
|
||||
{ key = "<leader>tz"; cmd = "<cmd>ZenMode<cr>"; desc = "Zen mode"; }
|
||||
];
|
||||
conf = /* lua */ ''
|
||||
require("zen-mode").setup({
|
||||
plugins = {
|
||||
tmux = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
'';
|
||||
dependencies = [
|
||||
{
|
||||
plugin = twilight-nvim;
|
||||
conf = /* lua */ ''
|
||||
require("twilight").setup({
|
||||
context = 20,
|
||||
expand = { -- for treesitter, we we always try to expand to the top-most ancestor with these types
|
||||
"function",
|
||||
"function_definition",
|
||||
"if_statement",
|
||||
"method",
|
||||
"method_definition",
|
||||
"table",
|
||||
},
|
||||
})
|
||||
'';
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
plugin = conform-nvim;
|
||||
keys = [
|
||||
|
|
|
@ -11,10 +11,19 @@ local formatters_by_ft = {
|
|||
sh = { "shfmt" },
|
||||
toml = { "taplo" },
|
||||
yaml = { "yamlfix" },
|
||||
gleam = { "gleam" },
|
||||
}
|
||||
|
||||
conform.setup({
|
||||
formatters_by_ft = formatters_by_ft,
|
||||
formatters = {
|
||||
gleam = {
|
||||
command = "gleam",
|
||||
args = { "format", "--stdin" },
|
||||
stdin = true,
|
||||
cwd = require("conform.util").root_file({ "gleam.toml" }),
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_create_user_command("Format", function(opts)
|
||||
|
|
|
@ -1,47 +1 @@
|
|||
require("mini.align").setup()
|
||||
require("mini.move").setup()
|
||||
|
||||
require("mini.statusline").setup({
|
||||
content = {
|
||||
active = function()
|
||||
local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 })
|
||||
local git = MiniStatusline.section_git({ trunc_width = 75 })
|
||||
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
|
||||
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
|
||||
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
|
||||
local location = MiniStatusline.section_location({ trunc_width = 75 })
|
||||
local mode_hl_inverse = mode_hl .. "Inverse"
|
||||
-- Usage of `MiniStatusline.combine_groups()` ensures highlighting and
|
||||
-- correct padding with spaces between groups (accounts for 'missing'
|
||||
-- sections, etc.)
|
||||
return MiniStatusline.combine_groups({
|
||||
{ hl = mode_hl_inverse, strings = {} },
|
||||
"",
|
||||
{ hl = mode_hl, strings = { mode } },
|
||||
{ hl = "MiniStatuslineDevinfo", strings = { git, diagnostics } },
|
||||
"%<", -- Mark general truncate point
|
||||
{ hl = "MiniStatuslineFilename", strings = { filename } },
|
||||
"%=", -- End left alignment
|
||||
{ hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
|
||||
{ hl = mode_hl, strings = { location } },
|
||||
{ hl = mode_hl_inverse, strings = {} },
|
||||
"",
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
local MiniStatuslineModes = {
|
||||
"MiniStatuslineModeInsert",
|
||||
"MiniStatuslineModeNormal",
|
||||
"MiniStatuslineModeReplace",
|
||||
"MiniStatuslineModeVisual",
|
||||
"MiniStatuslineModeCommand",
|
||||
"MiniStatuslineModeOther",
|
||||
}
|
||||
for _, mode_hl in ipairs(MiniStatuslineModes) do
|
||||
local hl_table = vim.api.nvim_get_hl(0, { name = mode_hl })
|
||||
local fg = hl_table.fg
|
||||
hl_table.fg = hl_table.bg
|
||||
hl_table.bg = fg
|
||||
vim.api.nvim_set_hl(0, mode_hl .. "Inverse", hl_table)
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ cmp.setup({
|
|||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
|
||||
elseif luasnip.jumpable(1) then
|
||||
elseif luasnip.locally_jumpable(1) then
|
||||
luasnip.jump(1)
|
||||
else
|
||||
fallback()
|
||||
|
@ -37,7 +37,7 @@ cmp.setup({
|
|||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select })
|
||||
elseif luasnip.jumpable(-1) then
|
||||
elseif luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
|
|
120
modules/programs/nvim/plugins/snippets/gleam.lua
Normal file
120
modules/programs/nvim/plugins/snippets/gleam.lua
Normal file
|
@ -0,0 +1,120 @@
|
|||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local isn = ls.indent_snippet_node
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local events = require("luasnip.util.events")
|
||||
local ai = require("luasnip.nodes.absolute_indexer")
|
||||
local extras = require("luasnip.extras")
|
||||
local l = extras.lambda
|
||||
local rep = extras.rep
|
||||
local p = extras.partial
|
||||
local m = extras.match
|
||||
local n = extras.nonempty
|
||||
local dl = extras.dynamic_lambda
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
local postfix = require("luasnip.extras.postfix").postfix
|
||||
local types = require("luasnip.util.types")
|
||||
local parse = require("luasnip.util.parser").parse_snippet
|
||||
local ms = ls.multi_snippet
|
||||
local k = require("luasnip.nodes.key_indexer").new_key
|
||||
local matches = require("luasnip.extras.postfix").matches
|
||||
|
||||
local case_template = [[
|
||||
case {expression} {{
|
||||
{pattern1} -> {result1}
|
||||
{pattern2} -> {result2}{final}
|
||||
}}
|
||||
]]
|
||||
|
||||
local dot_case = postfix({ filetype = "gleam", trig = ".case", match_pattern = matches.line }, {
|
||||
d(1, function(_, parent)
|
||||
return sn(
|
||||
1,
|
||||
fmt(case_template, {
|
||||
expression = t(parent.env.POSTFIX_MATCH),
|
||||
pattern1 = i(1, "pattern"),
|
||||
result1 = i(2, "todo"),
|
||||
pattern2 = i(3, "_"),
|
||||
result2 = i(4, "todo"),
|
||||
final = i(0),
|
||||
})
|
||||
)
|
||||
end),
|
||||
})
|
||||
|
||||
local case = s(
|
||||
{ filetype = "gleam", trig = "case" },
|
||||
fmt(case_template, {
|
||||
expression = i(1),
|
||||
pattern1 = i(2),
|
||||
result1 = i(3, "todo"),
|
||||
pattern2 = i(4, "_"),
|
||||
result2 = i(5, "todo"),
|
||||
final = i(0),
|
||||
})
|
||||
)
|
||||
|
||||
local fn_template = [[
|
||||
fn {name}({args}) -> {rtype} {{
|
||||
{body}
|
||||
}}
|
||||
]]
|
||||
|
||||
local fn = s(
|
||||
{ filetype = "gleam", trig = "fn" },
|
||||
fmt(fn_template, {
|
||||
name = i(1),
|
||||
args = i(2),
|
||||
rtype = i(3),
|
||||
body = i(0),
|
||||
})
|
||||
)
|
||||
|
||||
local pfn = s(
|
||||
{ filetype = "gleam", trig = "pfn" },
|
||||
fmt("pub " .. fn_template, {
|
||||
name = i(1),
|
||||
args = i(2),
|
||||
rtype = i(3),
|
||||
body = i(0),
|
||||
})
|
||||
)
|
||||
|
||||
local type_template = [[
|
||||
type {name} {{
|
||||
{body}
|
||||
}}
|
||||
]]
|
||||
|
||||
local type = s(
|
||||
{ filetype = "gleam", trig = "type" },
|
||||
fmt(type_template, {
|
||||
name = i(1),
|
||||
body = i(0),
|
||||
})
|
||||
)
|
||||
|
||||
local ptype = s(
|
||||
{ filetype = "gleam", trig = "ptype" },
|
||||
fmt("pub " .. type_template, {
|
||||
name = i(1),
|
||||
body = i(0),
|
||||
})
|
||||
)
|
||||
|
||||
return {
|
||||
case,
|
||||
dot_case,
|
||||
fn,
|
||||
pfn,
|
||||
type,
|
||||
ptype,
|
||||
}
|
|
@ -65,15 +65,5 @@ with builtins;
|
|||
];
|
||||
}
|
||||
)
|
||||
{
|
||||
plugin = nvim-treesitter-textsubjects;
|
||||
event = [ "BufReadPost" "BufNewFile" ];
|
||||
conf = readFile ./lua/nvim-treesitter-textsubjects.lua;
|
||||
}
|
||||
{
|
||||
plugin = nvim-treesitter-context;
|
||||
event = [ "BufReadPost" "BufNewFile" ];
|
||||
opts = { };
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
@ -16,30 +16,9 @@ with builtins;
|
|||
}
|
||||
{
|
||||
plugin = todo-comments-nvim;
|
||||
event = [ "BufReadPost" "BufNewFile" ];
|
||||
dependencies = [{ plugin = plenary-nvim; }];
|
||||
opts = { };
|
||||
}
|
||||
{
|
||||
plugin = pkgs.vimPlugins.statuscol-nvim.overrideAttrs (_: {
|
||||
version = lib.my.mkVersionInput inputs.statuscol-nvim;
|
||||
src = inputs.statuscol-nvim;
|
||||
});
|
||||
event = [ "VeryLazy" ];
|
||||
conf = readFile ./lua/statuscol-nvim.lua;
|
||||
}
|
||||
{
|
||||
plugin = pkgs.vimUtils.buildVimPlugin {
|
||||
pname = "smartcolumn-nvim";
|
||||
version = lib.my.mkVersionInput inputs.smartcolumn-nvim;
|
||||
src = inputs.smartcolumn-nvim;
|
||||
};
|
||||
event = [ "BufReadPost" "BufNewFile" ];
|
||||
opts = {
|
||||
colorcolumn = "120";
|
||||
disabled_filetypes = [ "help" "text" "markdown" "dashboard" ];
|
||||
};
|
||||
}
|
||||
{
|
||||
plugin = dressing-nvim;
|
||||
event = [ "VeryLazy" ];
|
||||
|
|
302
modules/programs/river/default.nix
Normal file
302
modules/programs/river/default.nix
Normal file
|
@ -0,0 +1,302 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, inputs
|
||||
, ...
|
||||
} @ args:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.programs.river;
|
||||
in
|
||||
{
|
||||
options.my.programs.river = {
|
||||
enable = mkEnableOption "river";
|
||||
keyboardLayouts = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = "list of keyboard layouts";
|
||||
default = [ "de" "us" ];
|
||||
};
|
||||
nvidiaSupport = mkEnableOption "nvidiaSupport";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.river.enable = true;
|
||||
my = {
|
||||
programs = {
|
||||
wallpaper.enable = true;
|
||||
foot.enable = true;
|
||||
tofi.enable = true;
|
||||
};
|
||||
wallpapers.enable = true;
|
||||
services = {
|
||||
dunst.enable = true;
|
||||
wallpaper = {
|
||||
enable = true;
|
||||
target = "river-session.target";
|
||||
};
|
||||
spotify-player.target = "river-session.target";
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.moritz = {
|
||||
home.packages = with pkgs; [
|
||||
rivercarro
|
||||
];
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
systemdTarget = "river-session.target";
|
||||
};
|
||||
wayland.windowManager.river = {
|
||||
enable = true;
|
||||
package = pkgs.river.overrideAttrs (old: {
|
||||
src = inputs.river;
|
||||
version = lib.my.mkVersionInput inputs.river;
|
||||
# HACK: to change wlroots to 0.17.x
|
||||
buildInputs = with pkgs; [
|
||||
libGL
|
||||
libevdev
|
||||
libinput
|
||||
libxkbcommon
|
||||
pixman
|
||||
udev
|
||||
wayland-protocols
|
||||
wlroots_0_17
|
||||
xorg.libX11
|
||||
];
|
||||
});
|
||||
settings = {
|
||||
border-width = 2;
|
||||
declare-mode = [
|
||||
"locked"
|
||||
"normal"
|
||||
"passthrough"
|
||||
];
|
||||
map = {
|
||||
normal = {
|
||||
"Super Q" = "close";
|
||||
"Super Return" = ''spawn "systemctl --user is-active --quiet foot && footclient --no-wait || foot"'';
|
||||
"Super+Shift Return" = "spawn foot";
|
||||
"Super R" = ''spawn 'exec $(tofi-run --fuzzy-match=true)' '';
|
||||
"Super W" = ''spawn "pkill -USR1 waybar"'';
|
||||
"Super+Shift R" = "spawn ~/.config/river/init";
|
||||
|
||||
# Focus view
|
||||
"Super J" = "focus-view next";
|
||||
"Super K" = "focus-view previous";
|
||||
|
||||
# swap the focused view
|
||||
"Super+Shift J" = "swap next";
|
||||
"Super+Shift K" = "swap previous";
|
||||
|
||||
# focus output
|
||||
"Super Period" = "focus-output next";
|
||||
"Super Comma" = "focus-output previous";
|
||||
|
||||
# send to output
|
||||
"Super+Shift Period" = "send-to-output next";
|
||||
"Super+Shift Comma" = "send-to-output previous";
|
||||
|
||||
# bump in layout stack
|
||||
"Super Z" = "zoom";
|
||||
|
||||
} //
|
||||
# tags
|
||||
(
|
||||
let
|
||||
numbers = range 1 9;
|
||||
toTag = num: "$((1 << (${toString num} - 1)))";
|
||||
|
||||
mkMappings = num:
|
||||
let
|
||||
numStr = toString num;
|
||||
tag = toTag num;
|
||||
in
|
||||
[
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
{ name = "Super ${numStr}"; value = "toggle-focused-tags ${tag}"; }
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
{ name = "Super+Shift ${numStr}"; value = "toggle-view-tags ${tag}"; }
|
||||
];
|
||||
mappings = flatten (map mkMappings numbers);
|
||||
in
|
||||
listToAttrs mappings
|
||||
);
|
||||
};
|
||||
map-pointer = {
|
||||
normal = {
|
||||
"Super BTN_LEFT" = "move-view";
|
||||
"Super BTN_RIGHT" = "resize-view";
|
||||
"Super BTN_MIDDLE" = "toggle-float";
|
||||
};
|
||||
};
|
||||
attach-mode = "bottom";
|
||||
default-layout = "rivercarro";
|
||||
focus-follows-cursor = "normal";
|
||||
hide-cursor = {
|
||||
timeout = "1500";
|
||||
when-typing = "enabled";
|
||||
};
|
||||
set-cursor-warp = "on-focus-change";
|
||||
};
|
||||
extraConfig = /* bash */ ''
|
||||
rivercarro_pid="$(pidof rivercarro)"
|
||||
if [[ -z $rivercarro_pid ]]; then
|
||||
rivercarro -inner-gaps 4 -outer-gaps 4 &
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
# add waybar as a status bar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
|
||||
# start using systemd service
|
||||
systemd = {
|
||||
enable = true;
|
||||
target = "river-session.target";
|
||||
};
|
||||
|
||||
settings = {
|
||||
mainBar = {
|
||||
start_hidden = true;
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 20;
|
||||
modules-left = [ "river/tags" ];
|
||||
modules-center = [ "river/window" ];
|
||||
modules-right = [ "network" "memory" "cpu" "battery" "clock" ];
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
#tags button.focused {
|
||||
color: #ffffff
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
# lock screen after timeout
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = "000000";
|
||||
};
|
||||
};
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${getExe pkgs.swaylock} -fF";
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = "${getExe pkgs.swaylock} -fF";
|
||||
}
|
||||
];
|
||||
timeouts =
|
||||
let
|
||||
lockTimeout = 10;
|
||||
in
|
||||
[
|
||||
{
|
||||
timeout = lockTimeout * 60 - 10;
|
||||
command = "${pkgs.libnotify}/bin/notify-send 'Locking screen!'";
|
||||
}
|
||||
{
|
||||
timeout = lockTimeout * 60 + 10;
|
||||
command = "${pkgs.systemd}/bin/loginctl lock-session";
|
||||
}
|
||||
];
|
||||
systemdTarget = "river-session.target";
|
||||
};
|
||||
};
|
||||
|
||||
# adds pam module for swaylock
|
||||
security.pam.services.swaylock = { };
|
||||
|
||||
# add user packages for wayland and hyprland in particular
|
||||
users.users.moritz.packages = with pkgs; [
|
||||
brightnessctl # control brightness
|
||||
grimblast # screenshot tool for hyprland
|
||||
pamixer # pulse audio cli
|
||||
playerctl # control media playback
|
||||
slurp # region select for wayland (for screensharing)
|
||||
wdisplays # manage monitors
|
||||
wl-clipboard # clipboard tool for wayland
|
||||
];
|
||||
|
||||
|
||||
# additional environment variables
|
||||
environment.sessionVariables =
|
||||
{
|
||||
XDG_CURRENT_DESKTOP = "river";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
XDG_SESSION_DESKTOP = "river";
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||
QT_QPA_PLATFORM = "wayland;xcb";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||
_JAVA_AWT_WM_NONEREPARENTING = "1";
|
||||
} // (optionalAttrs cfg.nvidiaSupport
|
||||
{
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
GDK_BACKEND = "wayland";
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
WLR_DRM_DEVICES = "/dev/dri/card0";
|
||||
WLR_DRM_NO_ATOMIC = "1";
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
XDG_CURRENT_DESKTOP = "river";
|
||||
_GL_GSYNC_ALLOWED = "0";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
__GL_VRR_ALLOWED = "0";
|
||||
});
|
||||
|
||||
services = {
|
||||
dbus.enable = true;
|
||||
# use pipewire (needed for screensharing)
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
xserver = {
|
||||
enable = true;
|
||||
displayManager = {
|
||||
lightdm.enable = true;
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "moritz";
|
||||
};
|
||||
defaultSession = "river";
|
||||
};
|
||||
};
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
|
||||
home-manager.users.moritz.systemd.user.services =
|
||||
let
|
||||
units = [ "waybar" ];
|
||||
mkAfter = _: {
|
||||
Unit = {
|
||||
After = [ "river-session.target" ];
|
||||
Wants = [ "river-session.target" ];
|
||||
};
|
||||
};
|
||||
in
|
||||
genAttrs units mkAfter;
|
||||
|
||||
systemd.user.services =
|
||||
let
|
||||
units = [ "pipewire" "xdg-desktop-portal" "wireplumber" ];
|
||||
mkAfter = _: {
|
||||
after = [ "river-session.target" ];
|
||||
wants = [ "river-session.target" ];
|
||||
};
|
||||
in
|
||||
genAttrs units mkAfter;
|
||||
};
|
||||
}
|
44
modules/programs/tofi.nix
Normal file
44
modules/programs/tofi.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.programs.tofi;
|
||||
|
||||
configText =
|
||||
let
|
||||
settingsStrings = mapAttrsToList (name: value: "${name} = ${value}") cfg.settings;
|
||||
in
|
||||
concatLines settingsStrings;
|
||||
in
|
||||
{
|
||||
options.my.programs.tofi = {
|
||||
enable = mkEnableOption "tofi";
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf str;
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lib.mkIf config.networking.networkmanager.enable networkmanager_dmenu)
|
||||
# (lib.mkIf config.hardware.bluetooth.enable rofi-bluetooth)
|
||||
# rofi-power-menu
|
||||
];
|
||||
home-manager.users.moritz = {
|
||||
home.packages = with pkgs; [ tofi ];
|
||||
xdg = {
|
||||
enable = true;
|
||||
configFile."tofi/config".text = configText;
|
||||
configFile."networkmanager-dmenu/config.ini".text = ''
|
||||
[dmenu]
|
||||
dmenu_command = tofi
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -8,7 +8,14 @@ let
|
|||
|
||||
script = pkgs.writeShellApplication {
|
||||
name = "wallpaper";
|
||||
runtimeInputs = with pkgs; [ findutils coreutils feh swaybg fzf viu ];
|
||||
runtimeInputs = with pkgs; [
|
||||
findutils
|
||||
coreutils
|
||||
feh
|
||||
swaybg
|
||||
fzf
|
||||
(viu.override { withSixel = true; })
|
||||
];
|
||||
text = builtins.readFile ./wallpaper.sh;
|
||||
};
|
||||
in
|
||||
|
|
Loading…
Reference in a new issue