From e8fde71f2cb37684bf5322c1529c2ed685a5e847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 12:02:48 +0200 Subject: [PATCH 1/8] build: update inputs --- flake.lock | 424 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 351 insertions(+), 73 deletions(-) diff --git a/flake.lock b/flake.lock index 5bf5b91..3577110 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1680281360, - "narHash": "sha256-XdLTgAzjJNDhAG2V+++0bHpSzfvArvr2pW6omiFfEJk=", + "lastModified": 1682101079, + "narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=", "owner": "ryantm", "repo": "agenix", - "rev": "e64961977f60388dd0b49572bb0fc453b871f896", + "rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447", "type": "github" }, "original": { @@ -24,11 +24,11 @@ "arkenfox-userjs": { "flake": false, "locked": { - "lastModified": 1680151825, - "narHash": "sha256-EutseXvFnDkYq95GWiGrTFqI4fqybvsPQlVV0Wy5tFU=", + "lastModified": 1683284168, + "narHash": "sha256-EWa9vkzprNuBFV+HpO6yBrClVtMTI5QmChErISW/SZY=", "owner": "arkenfox", "repo": "user.js", - "rev": "c84c419544cbbe4442190cc6325b926b519d8db5", + "rev": "04e6e77439bfa6e3f6b7b9c5e0afac7f74f0586a", "type": "github" }, "original": { @@ -85,11 +85,11 @@ "bufferline-nvim": { "flake": false, "locked": { - "lastModified": 1681547098, - "narHash": "sha256-WZAJiDm77rS9S4tN7dz03jjnv1jFvTur6dLg8OkYVM4=", + "lastModified": 1683111101, + "narHash": "sha256-KiJ/jyqNCW28dazs6ex7Ng5TjRetZFjQunsmG5Wp5C8=", "owner": "akinsho", "repo": "bufferline.nvim", - "rev": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf", + "rev": "41660189da6951d14436147dff30ed7f0d12ed01", "type": "github" }, "original": { @@ -133,11 +133,11 @@ "copilot-lua": { "flake": false, "locked": { - "lastModified": 1681223911, - "narHash": "sha256-ttF9LW6PNKk/BBWET2BUqtq5f7OIZ7ohtQevAaP8srg=", + "lastModified": 1683276482, + "narHash": "sha256-xZFDqZUdrD69LuUIu8MjhZ8WFH0hC5yX5nYKJkxzlJs=", "owner": "zbirenbaum", "repo": "copilot.lua", - "rev": "a4a37dda9e48986e5d2a90d6a3cbc88fca241dbb", + "rev": "8b0fd23747ef82154ef9f919c75623156465cc89", "type": "github" }, "original": { @@ -246,6 +246,83 @@ "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": { "inputs": { "systems": "systems" @@ -294,10 +371,28 @@ "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": { "inputs": { "nixpkgs": [ - "pre-commit-hooks", + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "pre-commit-hooks-nix", "nixpkgs" ] }, @@ -331,6 +426,87 @@ "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": { "inputs": { "nixpkgs": [ @@ -338,11 +514,11 @@ ] }, "locked": { - "lastModified": 1681586243, - "narHash": "sha256-vdP79IZuDZVNSl4RN1LgEuab1Tkbv4gCxiE8VLdRf7U=", + "lastModified": 1683276742, + "narHash": "sha256-QURv/m81hd6TN5RMjlSHhE1zLpXHsvDEm66qv3MRBsM=", "owner": "nix-community", "repo": "home-manager", - "rev": "40ebb62101c83de81e5fd7c3cfe5cea2ed21b1ad", + "rev": "38271ead8e7b291beb9d3b8312e66c3268796c0a", "type": "github" }, "original": { @@ -356,11 +532,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1679036674, - "narHash": "sha256-2s3Hfq56jL8ePyc3+calPT34FNMK2zksqwPhIxAq20o=", + "lastModified": 1683107384, + "narHash": "sha256-maCeGSr7UaxMzHgqHBtahwhf8nhenTytJnCWOA+DoXI=", "owner": "hyprwm", "repo": "contrib", - "rev": "1af47a008e850c595aeddc83bb3f04fd81935caa", + "rev": "a5792efdb113e9e971dc6fe5114fee814afbfb81", "type": "github" }, "original": { @@ -377,11 +553,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1681652918, - "narHash": "sha256-ybXmD3OhyMG1Yz31lxT8de7aBi2mQmXmzAZ7q49Uvi4=", + "lastModified": 1683276380, + "narHash": "sha256-Sd8dfgA46ov9bynmGysBXsrqGuqi49Pa3OrUvPtSXQE=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "b05ff89c76b2c9454c76daf2120f4ccb076a018d", + "rev": "d1d4683c9162aa4777a4a0da0691ba8c0bd6b7e7", "type": "github" }, "original": { @@ -416,11 +592,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1681650457, - "narHash": "sha256-IGXRZrFGFqUeM5iDgP/ojbrd+gKL40PaFFAITxbkfZ0=", + "lastModified": 1682542538, + "narHash": "sha256-752hHXEGsvKdw1Hm2LoFfi6sj2zVxu2AuKi4sRA7HN0=", "owner": "hyprwm", "repo": "hyprpaper", - "rev": "3bfaac09f58ce31c33e1a56e7eaa606a87fe4c32", + "rev": "b4fdc0be52d7c3e48e932698bafc3f69dbd45b3b", "type": "github" }, "original": { @@ -432,11 +608,11 @@ "lspsaga-nvim": { "flake": false, "locked": { - "lastModified": 1681470671, - "narHash": "sha256-mekeKttJSsBpTxMShC0l29/Wx3VKUnHMh6YtLYtx9Lk=", + "lastModified": 1683277504, + "narHash": "sha256-0F5Lyp/XWMTd01YuLKEIk3Xg1pLy6enRMbisQHioRmY=", "owner": "glepnir", "repo": "lspsaga.nvim", - "rev": "b2feb95e84776f7c9cdfb96e4c89a582c9ade0e4", + "rev": "76696bed4397c3b58563c246dc1f7856ed4af023", "type": "github" }, "original": { @@ -447,11 +623,11 @@ }, "master": { "locked": { - "lastModified": 1681658302, - "narHash": "sha256-KDXpkA7JOTnffQWAA5W246FoJNbdSur5HgzYScOzYKQ=", + "lastModified": 1683293296, + "narHash": "sha256-bDFpYbryuE2wSy3iRbkyD1kX6P9YW+fGhc7sYHDRW8o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f30febf83039aaa4a4399d46d068900a2b449de6", + "rev": "8f797fa93d996ed714c2877af0a663dd0a99d10b", "type": "github" }, "original": { @@ -462,7 +638,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -470,11 +646,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1681631972, - "narHash": "sha256-zF+sWaQPJpoDyhWXvwJGR7VryYr9+qBCWMTNRjA3BhQ=", + "lastModified": 1682581904, + "narHash": "sha256-9P4T2erXXrPxXTTLgD29U/IdKCOYqP4xbwdYswtVBA8=", "owner": "neovim", "repo": "neovim", - "rev": "0d9b0fbe579343fa6d6c46e6e1bf6bb8719ea5e0", + "rev": "d321deb4a9b05e9d81b79ac166274f4a6e7981bf", "type": "github" }, "original": { @@ -487,15 +663,17 @@ "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1681632748, - "narHash": "sha256-c0CskvdpipnTn5TSjq6KqNkeKRPYCDMmVTdZL08HTJA=", + "lastModified": 1682955971, + "narHash": "sha256-6Orm5CIh/Zz3X/RHbMbLnii5jSyEjLxV9KF7lrrI5pA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0e3e0029aa6353ecb7304d4a683d8d6ee69379ef", + "rev": "a9719c5050b1abbb0adada7dd9f98e0cdbd3ed53", "type": "github" }, "original": { @@ -515,11 +693,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1681412802, - "narHash": "sha256-IcEala6vFQ7SFNOPCeXBh9Jbl8nL2QOtLmO7RbDsBbo=", + "lastModified": 1683254762, + "narHash": "sha256-BjJ3hNPCGBHJ/PttVFdVc2ogDAQqrOLSuWqLPAl72Lw=", "owner": "oxalica", "repo": "nil", - "rev": "1d5bc81023c21b22cfbea06a8b4b82963c01b941", + "rev": "c2f303fd8be05039958b5fefcd0ea38e362cf04b", "type": "github" }, "original": { @@ -528,6 +706,29 @@ "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": { "locked": { "lastModified": 1658161305, @@ -544,7 +745,41 @@ "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": { + "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": { "lastModified": 1678872516, "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", @@ -562,11 +797,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1680669251, - "narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=", + "lastModified": 1683014792, + "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e", + "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", "type": "github" }, "original": { @@ -594,27 +829,43 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1681571934, - "narHash": "sha256-Q3B3HTqhTahhPCT53ahK1FPktOXlEWmudSttd9CWGbE=", - "owner": "nixos", + "lastModified": 1678293141, + "narHash": "sha256-lLlQHaR0y+q6nd6kfpydPTGHhl1rS9nU9OQmztzKOYs=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "29176972b4be60f7d3eb3101f696c99f2e6ada57", + "rev": "c90c4025bb6e0c4eaf438128a3b2640314b1c58d", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1681633309, - "narHash": "sha256-HvEzKU/ZWGyIt2G+AIEKmMt/ED3P+Tgjw3/BkArti0o=", + "lastModified": 1682929865, + "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", "repo": "nixpkgs", - "rev": "cb578ff7040066fd1b3f6f087bca796ddbf598b5", + "rev": "0b6445b611472740f02eae9015150c07c5373340", "type": "github" }, "original": { @@ -624,7 +875,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1681303793, "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", @@ -657,19 +908,46 @@ } }, "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": { "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_6", + "nixpkgs": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "hercules-ci-agent", + "nixpkgs" + ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1681413034, - "narHash": "sha256-/t7OjNQcNkeWeSq/CFLYVBfm+IEnkjoSm9iKvArnUUI=", + "lastModified": 1678376203, + "narHash": "sha256-3tyYGyC8h7fBwncLZy5nCUjTJPrHbmNwp47LlNLOHSM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "d3de8f69ca88fb6f8b09e5b598be5ac98d28ede5", + "rev": "1a20b9708962096ec2481eeb2ddca29ed747770a", "type": "github" }, "original": { @@ -698,7 +976,7 @@ "master": "master", "neovim-nightly-overlay": "neovim-nightly-overlay", "nil": "nil", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects", "pre-commit-hooks": "pre-commit-hooks", "smartcolumn-nvim": "smartcolumn-nvim", @@ -745,11 +1023,11 @@ ] }, "locked": { - "lastModified": 1680488274, - "narHash": "sha256-0vYMrZDdokVmPQQXtFpnqA2wEgCCUXf5a3dDuDVshn0=", + "lastModified": 1682907601, + "narHash": "sha256-FfUAYvRJ+6s9WWjXNPdRzuuvAeu2VHIXIbUkPJr4t14=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "7ec2ff598a172c6e8584457167575b3a1a5d80d8", + "rev": "5eaff055dd57128c53ae373dc96af944f5849daa", "type": "github" }, "original": { @@ -776,11 +1054,11 @@ }, "stable": { "locked": { - "lastModified": 1681482634, - "narHash": "sha256-cT/nr3L8khEYZSGp8qqwxFH+/q4/547MfyOdSj6MhBk=", + "lastModified": 1683207485, + "narHash": "sha256-gs+PHt/y/XQB7S8+YyBLAM8LjgYpPZUVFQBwpFSmJro=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fda0d99c2cbbb5c89d8855d258cb0821bd9113ad", + "rev": "cc45a3f8c98e1c33ca996e3504adefbf660a72d1", "type": "github" }, "original": { @@ -829,11 +1107,11 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1680810405, - "narHash": "sha256-LmI/4Yp/pOOoI4RxLRx9I90NBsiqdRLVOfbATKlgpkg=", + "lastModified": 1682436395, + "narHash": "sha256-GGEjkQO9m7YLYIXIXM76HWdhjg4Ye+oafOtyaFAYKI4=", "owner": "wlroots", "repo": "wlroots", - "rev": "7abda952d0000b72d240fe1d41457b9288f0b6e5", + "rev": "6830bfc17fd94709e2cdd4da0af989f102a26e59", "type": "gitlab" }, "original": { @@ -855,11 +1133,11 @@ ] }, "locked": { - "lastModified": 1681127512, - "narHash": "sha256-vklOOhBj5W8fii6yN4L2WY5ZeifBmsq3+mJ2wC1Pk9U=", + "lastModified": 1682439384, + "narHash": "sha256-zHDa8LCZs05TZHQSIZ3ucwyMPglBGHcqTBzfkLjYXTM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "04f579377a32781ce57c9cf4ba2a5bcb7f53fa97", + "rev": "c0e233955568fbea4e859336f6d3d14d51294d7c", "type": "github" }, "original": { From 49f7cde4cd4addd297bb118328cf920e0a556073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 12:04:17 +0200 Subject: [PATCH 2/8] refactor: rename deprecated option --- modules/security/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/security/default.nix b/modules/security/default.nix index 4ae5302..5b01fc2 100644 --- a/modules/security/default.nix +++ b/modules/security/default.nix @@ -3,9 +3,6 @@ , ... }: { ## 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 security.protectKernelImage = lib.mkDefault true; @@ -14,7 +11,7 @@ boot.tmp.useTmpfs = lib.mkDefault true; # If not using tmpfs, which is naturally purged on reboot, we must clean it # /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 # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix From 0b54e1877e0ac5d6c58654c54e29c664f42f7693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 12:05:38 +0200 Subject: [PATCH 3/8] feat!: enable hibernation again --- modules/programs/hyprland/default.nix | 37 +++++++++++++++++++-------- modules/security/default.nix | 2 +- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix index 0be3db8..f8db719 100644 --- a/modules/programs/hyprland/default.nix +++ b/modules/programs/hyprland/default.nix @@ -95,17 +95,32 @@ in command = "${pkgs.swaylock}/bin/swaylock -fF"; } ]; - timeouts = [ - { - timeout = 300; - command = "${hyprland}/bin/hyprctl dispatch dpms off"; - resumeCommand = "${hyprland}/bin/hyprctl dispatch dpms on"; - } - { - timeout = 310; - command = "${pkgs.systemd}/bin/loginctl lock-session"; - } - ]; + timeouts = + let + lockTimeout = 10; + in + [ + { + timeout = lockTimeout * 60 - 10; + command = "${pkgs.libnotify}/bin/notify-send 'Locking screen!'"; + } + { + 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"; }; }; diff --git a/modules/security/default.nix b/modules/security/default.nix index 5b01fc2..6183dc5 100644 --- a/modules/security/default.nix +++ b/modules/security/default.nix @@ -4,7 +4,7 @@ }: { ## System security tweaks # 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 # on ssd systems, and volatile! Because it's wiped on reboot. From 326b14d39a9f1eebdfc6b9c609897a46e549d0f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 13:51:09 +0200 Subject: [PATCH 4/8] feat(lib): add listModules to import modules --- lib/default.nix | 2 ++ modules/config/default.nix | 11 +++------- modules/programs/default.nix | 34 +++--------------------------- modules/services/default.nix | 14 +++--------- modules/virtualisation/default.nix | 7 +++--- overlays/default.nix | 4 ++-- 6 files changed, 16 insertions(+), 56 deletions(-) diff --git a/lib/default.nix b/lib/default.nix index b66d67d..f7a8b1c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -45,4 +45,6 @@ lib.makeExtensible (_: rec { lib.mapAttrs' mkModule modulesInDir; mapModules' = f: dir: lib.attrValues (mapModules f dir); + + listModules = mapModules' (path: path); }) diff --git a/modules/config/default.nix b/modules/config/default.nix index f2be122..1a044e4 100644 --- a/modules/config/default.nix +++ b/modules/config/default.nix @@ -1,10 +1,5 @@ +{ lib, ... }: + { - imports = [ - ./bin - ./nix.nix - ./shell.nix - ./theming - ./wallpapers.nix - ./yubikey.nix - ]; + imports = lib.my.listModules ./.; } diff --git a/modules/programs/default.nix b/modules/programs/default.nix index bf1d830..1a044e4 100644 --- a/modules/programs/default.nix +++ b/modules/programs/default.nix @@ -1,33 +1,5 @@ +{ lib, ... }: + { - imports = [ - ./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 - ]; + imports = lib.my.listModules ./.; } diff --git a/modules/services/default.nix b/modules/services/default.nix index 9cadf62..1a044e4 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -1,13 +1,5 @@ +{ lib, ... }: + { - imports = [ - ./dunst.nix - ./gammastep.nix - ./kdeconnect.nix - ./mullvad.nix - ./openconnect.nix - ./picom.nix - ./printing.nix - ./synology-drive.nix - ./wireguard.nix - ]; + imports = lib.my.listModules ./.; } diff --git a/modules/virtualisation/default.nix b/modules/virtualisation/default.nix index bcc1863..1a044e4 100644 --- a/modules/virtualisation/default.nix +++ b/modules/virtualisation/default.nix @@ -1,6 +1,5 @@ +{ lib, ... }: + { - imports = [ - ./podman.nix - ./virtualisation.nix - ]; + imports = lib.my.listModules ./.; } diff --git a/overlays/default.nix b/overlays/default.nix index e3d2d4d..6713493 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,4 +1,4 @@ -{ inputs, lib }: +{ lib, ... }@args: lib.composeManyExtensions - (lib.my.mapModules' (file: import file { inherit inputs lib; }) ./.) + (lib.my.mapModules' (file: import file args) ./.) From 3e9468d8725d564bad5874b0a42357d386083e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 13:53:31 +0200 Subject: [PATCH 5/8] feat(wallpaper): add better wallpaper module --- modules/config/bin/default.nix | 4 +- modules/config/bin/randomWallpaper.nix | 17 ------ modules/profiles/desktop.nix | 1 + modules/programs/bspwm/default.nix | 2 +- modules/programs/hyprland/config.nix | 2 +- modules/programs/sway.nix | 2 +- modules/programs/wallpaper/default.nix | 24 +++++++++ modules/programs/wallpaper/wallpaper.sh | 70 +++++++++++++++++++++++++ 8 files changed, 99 insertions(+), 23 deletions(-) delete mode 100644 modules/config/bin/randomWallpaper.nix create mode 100644 modules/programs/wallpaper/default.nix create mode 100644 modules/programs/wallpaper/wallpaper.sh diff --git a/modules/config/bin/default.nix b/modules/config/bin/default.nix index 7f4520e..5cbf5ed 100644 --- a/modules/config/bin/default.nix +++ b/modules/config/bin/default.nix @@ -9,7 +9,6 @@ let cfg = config.my.bin; cycleSinks = import ./cycleSinks.nix { inherit pkgs; }; protonge = import ./protonge.nix { inherit pkgs; }; - randomWallpaper = import ./randomWallpaper.nix { inherit pkgs; }; share = import ./share.nix { inherit pkgs; }; sxhkdHelp = import ./sxhkdHelp.nix { inherit pkgs; }; in @@ -17,10 +16,9 @@ in options.my.bin.enable = mkEnableOption "bin"; config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ + environment.systemPackages = [ cycleSinks protonge - randomWallpaper share sxhkdHelp ]; diff --git a/modules/config/bin/randomWallpaper.nix b/modules/config/bin/randomWallpaper.nix deleted file mode 100644 index e9be064..0000000 --- a/modules/config/bin/randomWallpaper.nix +++ /dev/null @@ -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 - ''; -} diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index 855c581..ac348a0 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -29,6 +29,7 @@ with lib; { spotify.enable = mkDefault true; ssh.enable = mkDefault true; thunar.enable = mkDefault true; + wallpaper.enable = mkDefault true; zathura.enable = mkDefault true; }; services = { diff --git a/modules/programs/bspwm/default.nix b/modules/programs/bspwm/default.nix index 81e1a60..fba274c 100644 --- a/modules/programs/bspwm/default.nix +++ b/modules/programs/bspwm/default.nix @@ -45,7 +45,7 @@ in focus_follows_pointer = true; }; startupPrograms = [ - "randomWallpaper" + "wallpaper -r" ]; extraConfig = builtins.readFile ./bspwmrc; }; diff --git a/modules/programs/hyprland/config.nix b/modules/programs/hyprland/config.nix index bbc63ef..4672193 100644 --- a/modules/programs/hyprland/config.nix +++ b/modules/programs/hyprland/config.nix @@ -224,5 +224,5 @@ in bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow - exec-once=randomWallpaper + exec-once=wallpaper -r '' diff --git a/modules/programs/sway.nix b/modules/programs/sway.nix index 162a1b9..a11b077 100644 --- a/modules/programs/sway.nix +++ b/modules/programs/sway.nix @@ -71,7 +71,7 @@ in command = "systemctl --user restart waybar"; always = true; } - { command = "randomWallpaper"; } + { command = "wallpaper -r"; } ]; }; }; diff --git a/modules/programs/wallpaper/default.nix b/modules/programs/wallpaper/default.nix new file mode 100644 index 0000000..f8ec99c --- /dev/null +++ b/modules/programs/wallpaper/default.nix @@ -0,0 +1,24 @@ +{ lib, config, pkgs, ... }: + + +with lib; +let + cfg = config.my.programs.wallpaper; +in +{ + options.my.programs.wallpaper.enable = mkEnableOption "wallpaper"; + + config = mkIf cfg.enable { + environment.systemPackages = + let + wallpaper = pkgs.writeShellApplication { + name = "wallpaper"; + runtimeInputs = with pkgs; [ findutils coreutils feh hyprland jq fzf viu ]; + text = builtins.readFile ./wallpaper.sh; + }; + in + [ + wallpaper + ]; + }; +} diff --git a/modules/programs/wallpaper/wallpaper.sh b/modules/programs/wallpaper/wallpaper.sh new file mode 100644 index 0000000..2644566 --- /dev/null +++ b/modules/programs/wallpaper/wallpaper.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +WALLPAPERS_PATH="$HOME/.config/wallpapers" +WALLPAPERS=$(find "$WALLPAPERS_PATH" -type f,l) + +function help() { + echo "Usage: wallpaper [OPTIONS]" + echo "" + echo "Options:" + echo " -h, --help Show this help message and exit" + echo " -r, --random Set a random wallpaper" + echo " -s, --set Set a wallpaper" +} + +function randomWallpaper() { + find ~/.config/wallpapers/ -type f,l | shuf -n 1 +} + +function setWallpaper() { + case "$DESKTOP_SESSION" 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 [[ -z ${WALLPAPER+x} ]]; then + WALLPAPER=$(echo "$WALLPAPERS" | fzf --preview="viu -sb -h 30 {}" --preview-window=right:70%:wrap) +fi + +if [[ ! -f "$WALLPAPER" ]]; then + echo "File not found: $WALLPAPER" + exit 1 +fi + +setWallpaper "$WALLPAPER" From d143c48e9e3c7195674504abd2c85d711b92d1fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 13:59:01 +0200 Subject: [PATCH 6/8] refactor(nix)!: move nix module to programs --- modules/profiles/base.nix | 8 ++++---- modules/{config => programs}/nix.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) rename modules/{config => programs}/nix.nix (96%) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index e2d4b4b..9f35c6a 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -32,10 +32,6 @@ in time.timeZone = "Europe/Berlin"; my = { - nix = { - gc.enable = true; - optimise.enable = true; - }; bin.enable = true; shell = { abbreviations = { @@ -63,6 +59,10 @@ in git.enable = true; gpg.enable = true; navi.enable = true; + nix = { + gc.enable = true; + optimise.enable = true; + }; tmux.enable = true; tmux.keybinds = { prefix = { diff --git a/modules/config/nix.nix b/modules/programs/nix.nix similarity index 96% rename from modules/config/nix.nix rename to modules/programs/nix.nix index 12fcc32..413936f 100644 --- a/modules/config/nix.nix +++ b/modules/programs/nix.nix @@ -6,10 +6,10 @@ with lib; let - cfg = config.my.nix; + cfg = config.my.programs.nix; in { - options.my.nix = { + options.my.programs.nix = { gc = { enable = mkEnableOption "nix-gc"; minimumFreedGB = mkOption { From f02b3ae0eae03403576f7d72ece536d1e4e31aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sun, 7 May 2023 14:02:22 +0200 Subject: [PATCH 7/8] fix(hyprland): typo in comment --- modules/programs/hyprland/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix index f8db719..aad7afd 100644 --- a/modules/programs/hyprland/default.nix +++ b/modules/programs/hyprland/default.nix @@ -229,7 +229,7 @@ in security.rtkit.enable = true; - # dekstop portal (for screensharing) + # desktop portal (for screensharing) xdg.portal = { enable = true; wlr.enable = mkForce false; From f9fd542206d64ec7b2fdf67a7c89a973f7eefd69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Mon, 8 May 2023 12:54:21 +0200 Subject: [PATCH 8/8] feat(hyprland): add random wallpaper service --- modules/programs/hyprland/config.nix | 26 +++++++++---------- modules/programs/hyprland/default.nix | 33 ++++++++++++++++--------- modules/programs/wallpaper/default.nix | 24 +++++++++++------- modules/programs/wallpaper/wallpaper.sh | 29 ++++++++++++++++------ 4 files changed, 70 insertions(+), 42 deletions(-) diff --git a/modules/programs/hyprland/config.nix b/modules/programs/hyprland/config.nix index 4672193..5feef36 100644 --- a/modules/programs/hyprland/config.nix +++ b/modules/programs/hyprland/config.nix @@ -165,26 +165,26 @@ in bind = $mainMod , RETURN , exec , kitty # XF86 keys - bind = , XF86AudioLowerVolume , exec , pamixer -d 5 - bind = , XF86AudioRaiseVolume , exec , pamixer -i 5 + binde = , XF86AudioLowerVolume , exec , pamixer -d 5 + binde = , XF86AudioRaiseVolume , exec , pamixer -i 5 bind = , XF86AudioMute , exec , pamixer -t bind = , XF86AudioNext , exec , playerctl -p "spotifyd,firefox" next bind = , XF86AudioPlay , exec , playerctl -p "spotifyd,firefox" play-pause bind = , XF86AudioPrev , exec , playerctl -p "spotifyd,firefox" previous - bind = , XF86MonBrightnessDown , exec , brightnessctl s 10%- - bind = , XF86MonBrightnessUp , exec , brightnessctl s 10%+ + binde = , XF86MonBrightnessDown , exec , brightnessctl s 10%- + binde = , XF86MonBrightnessUp , exec , brightnessctl s 10%+ # Move focus with mainMod + hjkl - bind = $mainMod, H, movefocus, l - bind = $mainMod, L, movefocus, r - bind = $mainMod, K, movefocus, u - bind = $mainMod, J, movefocus, d + binde = $mainMod, H, movefocus, l + binde = $mainMod, L, movefocus, r + binde = $mainMod, K, movefocus, u + binde = $mainMod, J, movefocus, d # Change current active window size with mainMod + SHIFT + hjkl - bind = $mainMod SHIFT, H, resizeactive, -10 0 - bind = $mainMod SHIFT, J, resizeactive, 0 10 - bind = $mainMod SHIFT, K, resizeactive, 0 -10 - bind = $mainMod SHIFT, L, resizeactive, 10 0 + binde = $mainMod SHIFT, H, resizeactive, -10 0 + binde = $mainMod SHIFT, J, resizeactive, 0 10 + binde = $mainMod SHIFT, K, resizeactive, 0 -10 + binde = $mainMod SHIFT, L, resizeactive, 10 0 # Move current active window with mainMod + ALT + hjkl bind = $mainMod ALT, H, movewindow, l @@ -223,6 +223,4 @@ in # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow - - exec-once=wallpaper -r '' diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix index aad7afd..654a13a 100644 --- a/modules/programs/hyprland/default.nix +++ b/modules/programs/hyprland/default.nix @@ -30,9 +30,12 @@ in config = mkIf cfg.enable { my = { programs = { + wallpaper.enable = true; kitty.enable = true; rofi.enable = true; + }; + wallpapers.enable = true; services.dunst.enable = true; }; @@ -142,33 +145,41 @@ in }; in { - enable = true; - partOf = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; serviceConfig = { + ExecStartPre = "${pkgs.coreutils}/bin/sleep 0.5"; ExecStart = "${pkgs.hyprpaper}/bin/hyprpaper -c ${config}"; - RestartSec = "1s"; + RestartSec = "500ms"; 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 systemd.user.targets.hyprland-session = { + partOf = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ]; before = [ "graphical-session.target" ]; }; systemd.user.services.xdg-desktop-portal-hyprland = { - after = [ "hyprland-session.target" ]; - wantedBy = [ "hyprland-session.target" ]; + after = [ "hyrpland-session.target" ]; + requiredBy = [ "xdg-desktop-portal.service" ]; }; - home-manager.users.moritz.systemd.user.services.nextcloud-client = { - Service = { - RestartSec = "1s"; - Restart = "on-failure"; - }; + home-manager.users.moritz.systemd.user.services.nextcloud-client.Service = { + RestartSec = "500ms"; + Restart = "on-failure"; }; # add user packages for wayland and hyprland in particular diff --git a/modules/programs/wallpaper/default.nix b/modules/programs/wallpaper/default.nix index f8ec99c..0412238 100644 --- a/modules/programs/wallpaper/default.nix +++ b/modules/programs/wallpaper/default.nix @@ -4,21 +4,27 @@ 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"; + options.my.programs.wallpaper = { + enable = mkEnableOption "wallpaper"; + package = mkOption { + type = types.package; + default = script; + }; + }; config = mkIf cfg.enable { environment.systemPackages = - let - wallpaper = pkgs.writeShellApplication { - name = "wallpaper"; - runtimeInputs = with pkgs; [ findutils coreutils feh hyprland jq fzf viu ]; - text = builtins.readFile ./wallpaper.sh; - }; - in [ - wallpaper + cfg.package ]; }; } diff --git a/modules/programs/wallpaper/wallpaper.sh b/modules/programs/wallpaper/wallpaper.sh index 2644566..5b52710 100644 --- a/modules/programs/wallpaper/wallpaper.sh +++ b/modules/programs/wallpaper/wallpaper.sh @@ -4,12 +4,13 @@ WALLPAPERS_PATH="$HOME/.config/wallpapers" WALLPAPERS=$(find "$WALLPAPERS_PATH" -type f,l) function help() { - echo "Usage: wallpaper [OPTIONS]" + echo "Usage:" + echo -e " wallpaper [OPTIONS] [PATH]" echo "" echo "Options:" - echo " -h, --help Show this help message and exit" - echo " -r, --random Set a random wallpaper" - echo " -s, --set Set a wallpaper" + 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 \n\t Set a wallpaper" } function randomWallpaper() { @@ -17,7 +18,7 @@ function randomWallpaper() { } function setWallpaper() { - case "$DESKTOP_SESSION" in + 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 @@ -58,13 +59,25 @@ done set -- "${POSITIONAL[@]}" # restore positional arguments -if [[ -z ${WALLPAPER+x} ]]; then - WALLPAPER=$(echo "$WALLPAPERS" | fzf --preview="viu -sb -h 30 {}" --preview-window=right:70%:wrap) +if [[ $# -gt 1 ]]; then + help + exit 1 fi -if [[ ! -f "$WALLPAPER" ]]; then +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"