Merge remote-tracking branch 'origin/nixos' into nixos

dev-docs
Moritz Böhme 2023-05-08 13:05:17 +02:00
commit 13883e7178
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
19 changed files with 553 additions and 199 deletions

View File

@ -8,11 +8,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1680281360, "lastModified": 1682101079,
"narHash": "sha256-XdLTgAzjJNDhAG2V+++0bHpSzfvArvr2pW6omiFfEJk=", "narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "e64961977f60388dd0b49572bb0fc453b871f896", "rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -24,11 +24,11 @@
"arkenfox-userjs": { "arkenfox-userjs": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1680151825, "lastModified": 1683284168,
"narHash": "sha256-EutseXvFnDkYq95GWiGrTFqI4fqybvsPQlVV0Wy5tFU=", "narHash": "sha256-EWa9vkzprNuBFV+HpO6yBrClVtMTI5QmChErISW/SZY=",
"owner": "arkenfox", "owner": "arkenfox",
"repo": "user.js", "repo": "user.js",
"rev": "c84c419544cbbe4442190cc6325b926b519d8db5", "rev": "04e6e77439bfa6e3f6b7b9c5e0afac7f74f0586a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -85,11 +85,11 @@
"bufferline-nvim": { "bufferline-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1681547098, "lastModified": 1683111101,
"narHash": "sha256-WZAJiDm77rS9S4tN7dz03jjnv1jFvTur6dLg8OkYVM4=", "narHash": "sha256-KiJ/jyqNCW28dazs6ex7Ng5TjRetZFjQunsmG5Wp5C8=",
"owner": "akinsho", "owner": "akinsho",
"repo": "bufferline.nvim", "repo": "bufferline.nvim",
"rev": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf", "rev": "41660189da6951d14436147dff30ed7f0d12ed01",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -133,11 +133,11 @@
"copilot-lua": { "copilot-lua": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1681223911, "lastModified": 1683276482,
"narHash": "sha256-ttF9LW6PNKk/BBWET2BUqtq5f7OIZ7ohtQevAaP8srg=", "narHash": "sha256-xZFDqZUdrD69LuUIu8MjhZ8WFH0hC5yX5nYKJkxzlJs=",
"owner": "zbirenbaum", "owner": "zbirenbaum",
"repo": "copilot.lua", "repo": "copilot.lua",
"rev": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb", "rev": "8b0fd23747ef82154ef9f919c75623156465cc89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -246,6 +246,83 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1680392223,
"narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1678379998,
"narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c13d60b89adea3dc20704c045ec4d50dd964d447",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"neovim-nightly-overlay",
"hercules-ci-effects",
"hercules-ci-agent",
"nixpkgs"
]
},
"locked": {
"lastModified": 1678379998,
"narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c13d60b89adea3dc20704c045ec4d50dd964d447",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@ -294,10 +371,28 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"pre-commit-hooks", "neovim-nightly-overlay",
"hercules-ci-effects",
"hercules-ci-agent",
"pre-commit-hooks-nix",
"nixpkgs" "nixpkgs"
] ]
}, },
@ -331,6 +426,87 @@
"type": "github" "type": "github"
} }
}, },
"gitignore_2": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"haskell-flake": {
"locked": {
"lastModified": 1678138103,
"narHash": "sha256-D0lao82bV3t2gEFjHiU6RN233t+1MnkQV+bq8MEu2ic=",
"owner": "hercules-ci",
"repo": "haskell-flake",
"rev": "1e1660e6dd00838ba73bc7952e6e73be67da18d1",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"ref": "0.1-extraLibraries",
"repo": "haskell-flake",
"type": "github"
}
},
"hercules-ci-agent": {
"inputs": {
"flake-parts": "flake-parts_3",
"haskell-flake": "haskell-flake",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_4",
"pre-commit-hooks-nix": "pre-commit-hooks-nix"
},
"locked": {
"lastModified": 1678446614,
"narHash": "sha256-Z6Gsba5ahn/N0QlF0vJfIEfnZgCs4qr1IZtXAqjbE7s=",
"owner": "hercules-ci",
"repo": "hercules-ci-agent",
"rev": "0b90d1a87c117a5861785cb85833dd1c9df0b6ef",
"type": "github"
},
"original": {
"id": "hercules-ci-agent",
"type": "indirect"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"hercules-ci-agent": "hercules-ci-agent",
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1681898675,
"narHash": "sha256-nIJ7CAdiHv4i1no/VgDoeTJLzbLYwu5+/Ycoyzn0S78=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "15ff4f63e5f28070391a5b09a82f6d5c6cc5c9d0",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -338,11 +514,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1681586243, "lastModified": 1683276742,
"narHash": "sha256-vdP79IZuDZVNSl4RN1LgEuab1Tkbv4gCxiE8VLdRf7U=", "narHash": "sha256-QURv/m81hd6TN5RMjlSHhE1zLpXHsvDEm66qv3MRBsM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "40ebb62101c83de81e5fd7c3cfe5cea2ed21b1ad", "rev": "38271ead8e7b291beb9d3b8312e66c3268796c0a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -356,11 +532,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1679036674, "lastModified": 1683107384,
"narHash": "sha256-2s3Hfq56jL8ePyc3+calPT34FNMK2zksqwPhIxAq20o=", "narHash": "sha256-maCeGSr7UaxMzHgqHBtahwhf8nhenTytJnCWOA+DoXI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "1af47a008e850c595aeddc83bb3f04fd81935caa", "rev": "a5792efdb113e9e971dc6fe5114fee814afbfb81",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -377,11 +553,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1681652918, "lastModified": 1683276380,
"narHash": "sha256-ybXmD3OhyMG1Yz31lxT8de7aBi2mQmXmzAZ7q49Uvi4=", "narHash": "sha256-Sd8dfgA46ov9bynmGysBXsrqGuqi49Pa3OrUvPtSXQE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "b05ff89c76b2c9454c76daf2120f4ccb076a018d", "rev": "d1d4683c9162aa4777a4a0da0691ba8c0bd6b7e7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -416,11 +592,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1681650457, "lastModified": 1682542538,
"narHash": "sha256-IGXRZrFGFqUeM5iDgP/ojbrd+gKL40PaFFAITxbkfZ0=", "narHash": "sha256-752hHXEGsvKdw1Hm2LoFfi6sj2zVxu2AuKi4sRA7HN0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprpaper", "repo": "hyprpaper",
"rev": "3bfaac09f58ce31c33e1a56e7eaa606a87fe4c32", "rev": "b4fdc0be52d7c3e48e932698bafc3f69dbd45b3b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -432,11 +608,11 @@
"lspsaga-nvim": { "lspsaga-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1681470671, "lastModified": 1683277504,
"narHash": "sha256-mekeKttJSsBpTxMShC0l29/Wx3VKUnHMh6YtLYtx9Lk=", "narHash": "sha256-0F5Lyp/XWMTd01YuLKEIk3Xg1pLy6enRMbisQHioRmY=",
"owner": "glepnir", "owner": "glepnir",
"repo": "lspsaga.nvim", "repo": "lspsaga.nvim",
"rev": "b2feb95e84776f7c9cdfb96e4c89a582c9ade0e4", "rev": "76696bed4397c3b58563c246dc1f7856ed4af023",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -447,11 +623,11 @@
}, },
"master": { "master": {
"locked": { "locked": {
"lastModified": 1681658302, "lastModified": 1683293296,
"narHash": "sha256-KDXpkA7JOTnffQWAA5W246FoJNbdSur5HgzYScOzYKQ=", "narHash": "sha256-bDFpYbryuE2wSy3iRbkyD1kX6P9YW+fGhc7sYHDRW8o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f30febf83039aaa4a4399d46d068900a2b449de6", "rev": "8f797fa93d996ed714c2877af0a663dd0a99d10b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -462,7 +638,7 @@
}, },
"neovim-flake": { "neovim-flake": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"neovim-nightly-overlay", "neovim-nightly-overlay",
"nixpkgs" "nixpkgs"
@ -470,11 +646,11 @@
}, },
"locked": { "locked": {
"dir": "contrib", "dir": "contrib",
"lastModified": 1681631972, "lastModified": 1682581904,
"narHash": "sha256-zF+sWaQPJpoDyhWXvwJGR7VryYr9+qBCWMTNRjA3BhQ=", "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "0d9b0fbe579343fa6d6c46e6e1bf6bb8719ea5e0", "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -487,15 +663,17 @@
"neovim-nightly-overlay": { "neovim-nightly-overlay": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-flake": "neovim-flake", "neovim-flake": "neovim-flake",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1681632748, "lastModified": 1682955971,
"narHash": "sha256-c0CskvdpipnTn5TSjq6KqNkeKRPYCDMmVTdZL08HTJA=", "narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "0e3e0029aa6353ecb7304d4a683d8d6ee69379ef", "rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -515,11 +693,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1681412802, "lastModified": 1683254762,
"narHash": "sha256-IcEala6vFQ7SFNOPCeXBh9Jbl8nL2QOtLmO7RbDsBbo=", "narHash": "sha256-BjJ3hNPCGBHJ/PttVFdVc2ogDAQqrOLSuWqLPAl72Lw=",
"owner": "oxalica", "owner": "oxalica",
"repo": "nil", "repo": "nil",
"rev": "1d5bc81023c21b22cfbea06a8b4b82963c01b941", "rev": "c2f303fd8be05039958b5fefcd0ea38e362cf04b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -528,6 +706,29 @@
"type": "github" "type": "github"
} }
}, },
"nix-darwin": {
"inputs": {
"nixpkgs": [
"neovim-nightly-overlay",
"hercules-ci-effects",
"hercules-ci-agent",
"nixpkgs"
]
},
"locked": {
"lastModified": 1673295039,
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1658161305, "lastModified": 1658161305,
@ -544,7 +745,41 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1678375444,
"narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": {
"lastModified": 1673800717,
"narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1678872516, "lastModified": 1678872516,
"narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=",
@ -562,11 +797,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1680669251, "lastModified": 1683014792,
"narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=", "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e", "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -594,27 +829,43 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1681571934, "lastModified": 1678293141,
"narHash": "sha256-Q3B3HTqhTahhPCT53ahK1FPktOXlEWmudSttd9CWGbE=", "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "29176972b4be60f7d3eb3101f696c99f2e6ada57", "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1681633309, "lastModified": 1682929865,
"narHash": "sha256-HvEzKU/ZWGyIt2G+AIEKmMt/ED3P+Tgjw3/BkArti0o=", "narHash": "sha256-jxVrgnf5QNjO+XoxDxUWtN2G5xyJSGZ5SWDQFxMuHxc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f2e9a130461950270f87630b11132323706b4d91",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1683267615,
"narHash": "sha256-A/zAy9YauwdPut90h6cYC1zgP/WmuW9zmJ+K/c5i6uc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cb578ff7040066fd1b3f6f087bca796ddbf598b5", "rev": "0b6445b611472740f02eae9015150c07c5373340",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -624,7 +875,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1681303793, "lastModified": 1681303793,
"narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=",
@ -657,19 +908,46 @@
} }
}, },
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4",
"gitignore": "gitignore_2",
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1682596858,
"narHash": "sha256-Hf9XVpqaGqe/4oDGr30W8HlsWvJXtMsEPHDqHZA6dDg=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "fb58866e20af98779017134319b5663b8215d912",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_2",
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": "nixpkgs_6", "nixpkgs": [
"neovim-nightly-overlay",
"hercules-ci-effects",
"hercules-ci-agent",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1681413034, "lastModified": 1678376203,
"narHash": "sha256-/t7OjNQcNkeWeSq/CFLYVBfm+IEnkjoSm9iKvArnUUI=", "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "d3de8f69ca88fb6f8b09e5b598be5ac98d28ede5", "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -698,7 +976,7 @@
"master": "master", "master": "master",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nil": "nil", "nil": "nil",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_6",
"nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects", "nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"smartcolumn-nvim": "smartcolumn-nvim", "smartcolumn-nvim": "smartcolumn-nvim",
@ -745,11 +1023,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1680488274, "lastModified": 1682907601,
"narHash": "sha256-0vYMrZDdokVmPQQXtFpnqA2wEgCCUXf5a3dDuDVshn0=", "narHash": "sha256-FfUAYvRJ+6s9WWjXNPdRzuuvAeu2VHIXIbUkPJr4t14=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "7ec2ff598a172c6e8584457167575b3a1a5d80d8", "rev": "5eaff055dd57128c53ae373dc96af944f5849daa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -776,11 +1054,11 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1681482634, "lastModified": 1683207485,
"narHash": "sha256-cT/nr3L8khEYZSGp8qqwxFH+/q4/547MfyOdSj6MhBk=", "narHash": "sha256-gs+PHt/y/XQB7S8+YyBLAM8LjgYpPZUVFQBwpFSmJro=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fda0d99c2cbbb5c89d8855d258cb0821bd9113ad", "rev": "cc45a3f8c98e1c33ca996e3504adefbf660a72d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -829,11 +1107,11 @@
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"lastModified": 1680810405, "lastModified": 1682436395,
"narHash": "sha256-LmI/4Yp/pOOoI4RxLRx9I90NBsiqdRLVOfbATKlgpkg=", "narHash": "sha256-GGEjkQO9m7YLYIXIXM76HWdhjg4Ye+oafOtyaFAYKI4=",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "7abda952d0000b72d240fe1d41457b9288f0b6e5", "rev": "6830bfc17fd94709e2cdd4da0af989f102a26e59",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -855,11 +1133,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1681127512, "lastModified": 1682439384,
"narHash": "sha256-vklOOhBj5W8fii6yN4L2WY5ZeifBmsq3+mJ2wC1Pk9U=", "narHash": "sha256-zHDa8LCZs05TZHQSIZ3ucwyMPglBGHcqTBzfkLjYXTM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "04f579377a32781ce57c9cf4ba2a5bcb7f53fa97", "rev": "c0e233955568fbea4e859336f6d3d14d51294d7c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -45,4 +45,6 @@ lib.makeExtensible (_: rec {
lib.mapAttrs' mkModule modulesInDir; lib.mapAttrs' mkModule modulesInDir;
mapModules' = f: dir: lib.attrValues (mapModules f dir); mapModules' = f: dir: lib.attrValues (mapModules f dir);
listModules = mapModules' (path: path);
}) })

View File

@ -9,7 +9,6 @@ let
cfg = config.my.bin; cfg = config.my.bin;
cycleSinks = import ./cycleSinks.nix { inherit pkgs; }; cycleSinks = import ./cycleSinks.nix { inherit pkgs; };
protonge = import ./protonge.nix { inherit pkgs; }; protonge = import ./protonge.nix { inherit pkgs; };
randomWallpaper = import ./randomWallpaper.nix { inherit pkgs; };
share = import ./share.nix { inherit pkgs; }; share = import ./share.nix { inherit pkgs; };
sxhkdHelp = import ./sxhkdHelp.nix { inherit pkgs; }; sxhkdHelp = import ./sxhkdHelp.nix { inherit pkgs; };
in in
@ -17,10 +16,9 @@ in
options.my.bin.enable = mkEnableOption "bin"; options.my.bin.enable = mkEnableOption "bin";
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = [
cycleSinks cycleSinks
protonge protonge
randomWallpaper
share share
sxhkdHelp sxhkdHelp
]; ];

View File

@ -1,17 +0,0 @@
{ pkgs }:
pkgs.writeShellApplication {
name = "randomWallpaper";
runtimeInputs = with pkgs; [ findutils coreutils feh hyprland jq ];
text = ''
wallpaper="$(find ~/.config/wallpapers/ -type f,l | shuf -n 1)"
if [ -z ''${WAYLAND_DISPLAY+x} ]; then
feh --bg-fill "$wallpaper"
else
hyprctl hyprpaper preload "$wallpaper"
hyprctl monitors -j | jq '.[].name' | xargs -I{} hyprctl hyprpaper wallpaper '{}',"$wallpaper"
hyprctl hyprpaper unload all
fi
'';
}

View File

@ -1,10 +1,5 @@
{ lib, ... }:
{ {
imports = [ imports = lib.my.listModules ./.;
./bin
./nix.nix
./shell.nix
./theming
./wallpapers.nix
./yubikey.nix
];
} }

View File

@ -32,10 +32,6 @@ in
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
my = { my = {
nix = {
gc.enable = true;
optimise.enable = true;
};
bin.enable = true; bin.enable = true;
shell = { shell = {
abbreviations = { abbreviations = {
@ -63,6 +59,10 @@ in
git.enable = true; git.enable = true;
gpg.enable = true; gpg.enable = true;
navi.enable = true; navi.enable = true;
nix = {
gc.enable = true;
optimise.enable = true;
};
tmux.enable = true; tmux.enable = true;
tmux.keybinds = { tmux.keybinds = {
prefix = { prefix = {

View File

@ -29,6 +29,7 @@ with lib; {
spotify.enable = mkDefault true; spotify.enable = mkDefault true;
ssh.enable = mkDefault true; ssh.enable = mkDefault true;
thunar.enable = mkDefault true; thunar.enable = mkDefault true;
wallpaper.enable = mkDefault true;
zathura.enable = mkDefault true; zathura.enable = mkDefault true;
}; };
services = { services = {

View File

@ -45,7 +45,7 @@ in
focus_follows_pointer = true; focus_follows_pointer = true;
}; };
startupPrograms = [ startupPrograms = [
"randomWallpaper" "wallpaper -r"
]; ];
extraConfig = builtins.readFile ./bspwmrc; extraConfig = builtins.readFile ./bspwmrc;
}; };

View File

@ -1,33 +1,5 @@
{ lib, ... }:
{ {
imports = [ imports = lib.my.listModules ./.;
./adb.nix
./bspwm
./chromium.nix
./code.nix
./direnv.nix
./firefox.nix
./fish.nix
./git.nix
./gnome.nix
./gpg.nix
./helix.nix
./hub.nix
./hyprland
./kakoune.nix
./kitty.nix
./ledger
./logseq.nix
./miracast.nix
./navi
./nvim
./python.nix
./rofi
./spotify.nix
./ssh.nix
./sway.nix
./thunar.nix
./tmux.nix
./zathura.nix
./zsh.nix
];
} }

View File

@ -165,26 +165,26 @@ in
bind = $mainMod , RETURN , exec , kitty bind = $mainMod , RETURN , exec , kitty
# XF86 keys # XF86 keys
bind = , XF86AudioLowerVolume , exec , pamixer -d 5 binde = , XF86AudioLowerVolume , exec , pamixer -d 5
bind = , XF86AudioRaiseVolume , exec , pamixer -i 5 binde = , XF86AudioRaiseVolume , exec , pamixer -i 5
bind = , XF86AudioMute , exec , pamixer -t bind = , XF86AudioMute , exec , pamixer -t
bind = , XF86AudioNext , exec , playerctl -p "spotifyd,firefox" next bind = , XF86AudioNext , exec , playerctl -p "spotifyd,firefox" next
bind = , XF86AudioPlay , exec , playerctl -p "spotifyd,firefox" play-pause bind = , XF86AudioPlay , exec , playerctl -p "spotifyd,firefox" play-pause
bind = , XF86AudioPrev , exec , playerctl -p "spotifyd,firefox" previous bind = , XF86AudioPrev , exec , playerctl -p "spotifyd,firefox" previous
bind = , XF86MonBrightnessDown , exec , brightnessctl s 10%- binde = , XF86MonBrightnessDown , exec , brightnessctl s 10%-
bind = , XF86MonBrightnessUp , exec , brightnessctl s 10%+ binde = , XF86MonBrightnessUp , exec , brightnessctl s 10%+
# Move focus with mainMod + hjkl # Move focus with mainMod + hjkl
bind = $mainMod, H, movefocus, l binde = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r binde = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u binde = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d binde = $mainMod, J, movefocus, d
# Change current active window size with mainMod + SHIFT + hjkl # Change current active window size with mainMod + SHIFT + hjkl
bind = $mainMod SHIFT, H, resizeactive, -10 0 binde = $mainMod SHIFT, H, resizeactive, -10 0
bind = $mainMod SHIFT, J, resizeactive, 0 10 binde = $mainMod SHIFT, J, resizeactive, 0 10
bind = $mainMod SHIFT, K, resizeactive, 0 -10 binde = $mainMod SHIFT, K, resizeactive, 0 -10
bind = $mainMod SHIFT, L, resizeactive, 10 0 binde = $mainMod SHIFT, L, resizeactive, 10 0
# Move current active window with mainMod + ALT + hjkl # Move current active window with mainMod + ALT + hjkl
bind = $mainMod ALT, H, movewindow, l bind = $mainMod ALT, H, movewindow, l
@ -223,6 +223,4 @@ in
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
exec-once=randomWallpaper
'' ''

View File

@ -30,9 +30,12 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
my = { my = {
programs = { programs = {
wallpaper.enable = true;
kitty.enable = true; kitty.enable = true;
rofi.enable = true; rofi.enable = true;
}; };
wallpapers.enable = true;
services.dunst.enable = true; services.dunst.enable = true;
}; };
@ -95,17 +98,32 @@ in
command = "${getExe pkgs.swaylock} -fF"; command = "${getExe pkgs.swaylock} -fF";
} }
]; ];
timeouts = [ timeouts =
{ let
timeout = 300; lockTimeout = 10;
command = "${hyprland}/bin/hyprctl dispatch dpms off"; in
resumeCommand = "${hyprland}/bin/hyprctl dispatch dpms on"; [
} {
{ timeout = lockTimeout * 60 - 10;
timeout = 310; command = "${pkgs.libnotify}/bin/notify-send 'Locking screen!'";
command = "${pkgs.systemd}/bin/loginctl lock-session"; }
} {
]; timeout = lockTimeout * 60;
command = "${hyprland}/bin/hyprctl dispatch dpms off";
resumeCommand = "${hyprland}/bin/hyprctl dispatch dpms on";
}
{
timeout = lockTimeout * 60 + 10;
command = "${pkgs.systemd}/bin/loginctl lock-session";
}
] ++ optional
(!cfg.nvidiaSupport) # TODO https://github.com/hyprwm/Hyprland/issues/1728
[
{
timeout = 30 * 60;
command = "${pkgs.systemd}/bin/systemctl suspend-then-hibernate";
}
];
systemdTarget = "hyprland-session.target"; systemdTarget = "hyprland-session.target";
}; };
}; };
@ -127,33 +145,41 @@ in
}; };
in in
{ {
enable = true;
partOf = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = { serviceConfig = {
ExecStartPre = "${pkgs.coreutils}/bin/sleep 0.5";
ExecStart = "${getExe pkgs.hyprpaper} -c ${config}"; ExecStart = "${getExe pkgs.hyprpaper} -c ${config}";
RestartSec = "1s"; RestartSec = "500ms";
Restart = "on-failure"; Restart = "on-failure";
}; };
}; };
systemd.user.services.random-wallpaper = {
wantedBy = [ "graphical-session.target" ];
requires = [ "hyprpaper.service" ];
serviceConfig = {
ExecStartPre = "${pkgs.coreutils}/bin/sleep 0.5";
ExecStart = "${getExe config.my.programs.wallpaper.package} -r";
RestartSec = "500ms";
Restart = "on-failure";
};
};
# only consider graphical-session.target started when hyprland-sesstion.target is reached # only consider graphical-session.target started when hyprland-sesstion.target is reached
systemd.user.targets.hyprland-session = { systemd.user.targets.hyprland-session = {
partOf = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ];
before = [ "graphical-session.target" ]; before = [ "graphical-session.target" ];
}; };
systemd.user.services.xdg-desktop-portal-hyprland = { systemd.user.services.xdg-desktop-portal-hyprland = {
after = [ "hyprland-session.target" ]; after = [ "hyrpland-session.target" ];
wantedBy = [ "hyprland-session.target" ]; requiredBy = [ "xdg-desktop-portal.service" ];
}; };
home-manager.users.moritz.systemd.user.services.nextcloud-client = { home-manager.users.moritz.systemd.user.services.nextcloud-client.Service = {
Service = { RestartSec = "500ms";
RestartSec = "1s"; Restart = "on-failure";
Restart = "on-failure";
};
}; };
# add user packages for wayland and hyprland in particular # add user packages for wayland and hyprland in particular
@ -214,7 +240,7 @@ in
security.rtkit.enable = true; security.rtkit.enable = true;
# dekstop portal (for screensharing) # desktop portal (for screensharing)
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = mkForce false; wlr.enable = mkForce false;

View File

@ -6,10 +6,10 @@
with lib; with lib;
let let
cfg = config.my.nix; cfg = config.my.programs.nix;
in in
{ {
options.my.nix = { options.my.programs.nix = {
gc = { gc = {
enable = mkEnableOption "nix-gc"; enable = mkEnableOption "nix-gc";
minimumFreedGB = mkOption { minimumFreedGB = mkOption {

View File

@ -71,7 +71,7 @@ in
command = "systemctl --user restart waybar"; command = "systemctl --user restart waybar";
always = true; always = true;
} }
{ command = "randomWallpaper"; } { command = "wallpaper -r"; }
]; ];
}; };
}; };

View File

@ -0,0 +1,30 @@
{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.my.programs.wallpaper;
script = pkgs.writeShellApplication {
name = "wallpaper";
runtimeInputs = with pkgs; [ findutils coreutils feh hyprland jq fzf viu ];
text = builtins.readFile ./wallpaper.sh;
};
in
{
options.my.programs.wallpaper = {
enable = mkEnableOption "wallpaper";
package = mkOption {
type = types.package;
default = script;
};
};
config = mkIf cfg.enable {
environment.systemPackages =
[
cfg.package
];
};
}

View File

@ -0,0 +1,83 @@
#!/usr/bin/env bash
WALLPAPERS_PATH="$HOME/.config/wallpapers"
WALLPAPERS=$(find "$WALLPAPERS_PATH" -type f,l)
function help() {
echo "Usage:"
echo -e " wallpaper [OPTIONS] [PATH]"
echo ""
echo "Options:"
echo -e " -h, --help \n\t Show this help message and exit"
echo -e " -r, --random \n\t Set a random wallpaper"
echo -e " -s, --set <PATH> \n\t Set a wallpaper"
}
function randomWallpaper() {
find ~/.config/wallpapers/ -type f,l | shuf -n 1
}
function setWallpaper() {
case "${XDG_CURRENT_DESKTOP,,}" in
hyprland)
hyprctl hyprpaper preload "$1" &>/dev/null
hyprctl monitors -j | jq '.[].name' | xargs -I{} -P 0 hyprctl hyprpaper wallpaper '{}',"$1" &>/dev/null
hyprctl hyprpaper unload all &>/dev/null
;;
*)
feh --bg-fill "$1" &>/dev/null
;;
esac
}
# Parse arguments
# https://stackoverflow.com/a/14203146
POSITIONAL=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-h | --help)
help
exit 0
;;
-r | --random)
WALLPAPER=$(randomWallpaper)
shift # past argument
;;
-s | --set)
WALLPAPER="$2"
shift # past argument
shift # past value
;;
*)
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional arguments
if [[ $# -gt 1 ]]; then
help
exit 1
fi
if [[ $# -eq 1 ]]; then
WALLPAPER="$1"
fi
if [[ -z ${WALLPAPER+x} ]]; then
WALLPAPER=$(echo "$WALLPAPERS" | fzf --preview="viu -sb -h 30 {}" --preview-window=right:70%:wrap)
fi
WALLPAPER=$(realpath "$WALLPAPER")
if [[ ! -e "$WALLPAPER" ]]; then
echo "File not found: $WALLPAPER"
exit 1
fi
echo "Setting wallpaper: '$WALLPAPER'"
setWallpaper "$WALLPAPER"

View File

@ -3,18 +3,15 @@
, ... , ...
}: { }: {
## System security tweaks ## System security tweaks
# sets hidepid=2 on /proc (make process info visible only to owning user)
# NOTE Was removed on nixpkgs-unstable because it doesn't do anything
# security.hideProcessInformation = true;
# Prevent replacing the running kernel w/o reboot # Prevent replacing the running kernel w/o reboot
security.protectKernelImage = lib.mkDefault true; # security.protectKernelImage = lib.mkDefault true; # NOTE disabled for now to enable hibernate
# tmpfs = /tmp is mounted in ram. Doing so makes temp file management speedy # tmpfs = /tmp is mounted in ram. Doing so makes temp file management speedy
# on ssd systems, and volatile! Because it's wiped on reboot. # on ssd systems, and volatile! Because it's wiped on reboot.
boot.tmp.useTmpfs = lib.mkDefault true; boot.tmp.useTmpfs = lib.mkDefault true;
# If not using tmpfs, which is naturally purged on reboot, we must clean it # If not using tmpfs, which is naturally purged on reboot, we must clean it
# /tmp ourselves. /tmp should be volatile storage! # /tmp ourselves. /tmp should be volatile storage!
boot.tmp.cleanOnBoot = lib.mkDefault (!config.boot.tmpOnTmpfs); boot.tmp.cleanOnBoot = lib.mkDefault (!config.boot.tmp.useTmpfs);
# Fix a security hole in place for backwards compatibility. See desc in # Fix a security hole in place for backwards compatibility. See desc in
# nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix

View File

@ -1,13 +1,5 @@
{ lib, ... }:
{ {
imports = [ imports = lib.my.listModules ./.;
./dunst.nix
./gammastep.nix
./kdeconnect.nix
./mullvad.nix
./openconnect.nix
./picom.nix
./printing.nix
./synology-drive.nix
./wireguard.nix
];
} }

View File

@ -1,6 +1,5 @@
{ lib, ... }:
{ {
imports = [ imports = lib.my.listModules ./.;
./podman.nix
./virtualisation.nix
];
} }

View File

@ -1,4 +1,4 @@
{ inputs, lib }: { lib, ... }@args:
lib.composeManyExtensions lib.composeManyExtensions
(lib.my.mapModules' (file: import file { inherit inputs lib; }) ./.) (lib.my.mapModules' (file: import file args) ./.)