diff --git a/flake.lock b/flake.lock index c560d9e..a687f1d 100644 --- a/flake.lock +++ b/flake.lock @@ -44,72 +44,6 @@ "url": "https://gt.emenel.ca/emenel/audio.nix.git" } }, - "base16": { - "inputs": { - "fromYaml": "fromYaml" - }, - "locked": { - "lastModified": 1732200724, - "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "153d52373b0fb2d343592871009a286ec8837aec", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "base16.nix", - "type": "github" - } - }, - "base16-fish": { - "flake": false, - "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", - "type": "github" - }, - "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, - "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1725860795, - "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-vim": { - "flake": false, - "locked": { - "lastModified": 1731949548, - "narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "61165b1632409bd55e530f3dbdd4477f011cadc6", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "type": "github" - } - }, "crane": { "inputs": { "nixpkgs": [ @@ -156,11 +90,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1738775993, - "narHash": "sha256-LNnDrJpy2oMn6IYXCCi5FWqEcT4gD1rnt0xM36Fov3Q=", + "lastModified": 1738861981, + "narHash": "sha256-QfphE389j/AkIBLrPti7iaWdzRlByxZ9PZdQ0Z9ES5g=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "ed5cb1becdad3465ca08dd8ef0b156ae4390505f", + "rev": "1d19c1885c8807e044eb861162ee0120b6749dea", "type": "github" }, "original": { @@ -191,22 +125,6 @@ "type": "github" } }, - "firefox-gnome-theme": { - "flake": false, - "locked": { - "lastModified": 1734969791, - "narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe", - "type": "github" - }, - "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "type": "github" - } - }, "flake-compat": { "locked": { "lastModified": 1733328505, @@ -254,22 +172,6 @@ "type": "github" } }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems_3" @@ -325,10 +227,7 @@ }, "flake-utils_4": { "inputs": { - "systems": [ - "stylix", - "systems" - ] + "systems": "systems_7" }, "locked": { "lastModified": 1731533236, @@ -362,24 +261,6 @@ "type": "github" } }, - "flake-utils_6": { - "inputs": { - "systems": "systems_9" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "freetype2": { "flake": false, "locked": { @@ -397,53 +278,6 @@ "type": "github" } }, - "fromYaml": { - "flake": false, - "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "stylix", - "nixpkgs" - ], - "nixpkgs-stable": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -466,45 +300,6 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gnome-shell": { - "flake": false, - "locked": { - "lastModified": 1732369855, - "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "dadd58f630eeea41d645ee225a63f719390829dc", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "47.2", - "repo": "gnome-shell", - "type": "github" - } - }, "harfbuzz": { "flake": false, "locked": { @@ -529,11 +324,11 @@ ] }, "locked": { - "lastModified": 1738753876, - "narHash": "sha256-yXT82kERWL4R81hfun9BuT478Q6ut0dJzdQjAxjRS38=", + "lastModified": 1738841109, + "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=", "owner": "nix-community", "repo": "home-manager", - "rev": "f20b7a8ab527a2482f13754dc00b2deaddc34599", + "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407", "type": "github" }, "original": { @@ -691,11 +486,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1738748191, - "narHash": "sha256-pFviZDdMHOgctZKqoCrzWTy8PgwuRWVbE6PRGqSYxLA=", + "lastModified": 1738841768, + "narHash": "sha256-T3fWbhR7mciPIh1Vd3zyigPJlgA2eGQPkSbm5v8M/xI=", "owner": "hyprwm", "repo": "hyprlock", - "rev": "ce750456f9863d9d821fd0a2dc28d0b8ac0b5e26", + "rev": "dc6d72158c22d802845679e783231061b717ffd1", "type": "github" }, "original": { @@ -818,11 +613,11 @@ "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1738662252, - "narHash": "sha256-N5Uao4Wkcfd4hb7eipDtJBBERbe7ctHT17Dsw6jtNcI=", + "lastModified": 1738789634, + "narHash": "sha256-phbQUuuRxGk9P9fxzza00pmxpc1hdWctn3/n9QwhMMM=", "owner": "isd-project", "repo": "isd", - "rev": "827f5dad83f5dd0cf26bc28fed385ff3f4e5f54d", + "rev": "1ffa08db3e54a435e796093e53e91e8280f61661", "type": "github" }, "original": { @@ -892,18 +687,54 @@ }, "niri": { "inputs": { - "nix-filter": "nix-filter_2", + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay" + "nixpkgs-stable": "nixpkgs-stable_2", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1738768006, - "narHash": "sha256-56jDYr/vqX4fobMJO2nWLjih03i6UV5bKtxI0nR4ZZA=", + "lastModified": 1738835520, + "narHash": "sha256-qvaWZ3PDJ0MC7t0wD8MdoGdVnMu0ps/ZWCXGepCFo5s=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "4e72debdb5675b41278ddd492168b6c9c9ed09a0", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1736614405, + "narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=", "owner": "YaLTeR", "repo": "niri", - "rev": "690d6355057ebeba03cbd8ce4905145b834c72f8", + "rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v25.01", + "repo": "niri", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1738827003, + "narHash": "sha256-s3bBfzPRRWybVSzRYStIwQxSOH5/9kR0Kfqi4IsvG7E=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "b31c0359ebce114ae2f9b4e5df3dc37a93f5115e", "type": "github" }, "original": { @@ -966,21 +797,6 @@ "type": "github" } }, - "nix-filter_2": { - "locked": { - "lastModified": 1731533336, - "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nix-filter", - "type": "github" - } - }, "nix-flatpak": { "locked": { "lastModified": 1738175805, @@ -998,11 +814,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1738638143, - "narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=", + "lastModified": 1738816619, + "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70", + "rev": "2eccff41bab80839b1d25b303b53d339fbb07087", "type": "github" }, "original": { @@ -1043,6 +859,22 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1738702386, + "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1708118438, @@ -1216,7 +1048,6 @@ "paperwm": "paperwm", "shikane": "shikane", "sops-nix": "sops-nix", - "stylix": "stylix", "wezterm": "wezterm", "yazi": "yazi" } @@ -1239,27 +1070,6 @@ } }, "rust-overlay": { - "inputs": { - "nixpkgs": [ - "niri", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733106880, - "narHash": "sha256-aJmAIjZfWfPSWSExwrYBLRgXVvgF5LP1vaeUGOOIQ98=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "e66c0d43abf5bdefb664c3583ca8994983c332ae", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { "inputs": { "nixpkgs": [ "wezterm", @@ -1280,7 +1090,7 @@ "type": "github" } }, - "rust-overlay_3": { + "rust-overlay_2": { "inputs": { "nixpkgs": [ "yazi", @@ -1344,43 +1154,6 @@ "type": "github" } }, - "stylix": { - "inputs": { - "base16": "base16", - "base16-fish": "base16-fish", - "base16-helix": "base16-helix", - "base16-vim": "base16-vim", - "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_4", - "git-hooks": "git-hooks", - "gnome-shell": "gnome-shell", - "home-manager": [ - "home-manager" - ], - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_7", - "tinted-foot": "tinted-foot", - "tinted-kitty": "tinted-kitty", - "tinted-tmux": "tinted-tmux", - "tinted-zed": "tinted-zed" - }, - "locked": { - "lastModified": 1736493302, - "narHash": "sha256-6+z7mOa4d4+UH+do71u6WSugLWWiC1zBzYB+N5VYblQ=", - "owner": "donovanglover", - "repo": "stylix", - "rev": "483505ec60470cfd7776a00825d41590e8bde4f1", - "type": "github" - }, - "original": { - "owner": "donovanglover", - "repo": "stylix", - "type": "github" - } - }, "systemd-nix": { "inputs": { "nixpkgs": [ @@ -1522,87 +1295,6 @@ "type": "github" } }, - "systems_9": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, - "tinted-kitty": { - "flake": false, - "locked": { - "lastModified": 1716423189, - "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", - "type": "github" - } - }, - "tinted-tmux": { - "flake": false, - "locked": { - "lastModified": 1729501581, - "narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, - "tinted-zed": { - "flake": false, - "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", - "type": "github" - } - }, "uv2nix": { "inputs": { "nixpkgs": [ @@ -1630,14 +1322,14 @@ }, "wezterm": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_4", "freetype2": "freetype2", "harfbuzz": "harfbuzz", "libpng": "libpng", "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_2", + "rust-overlay": "rust-overlay", "zlib": "zlib" }, "locked": { @@ -1656,20 +1348,53 @@ "type": "github" } }, + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1730166465, + "narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "ref": "v0.5", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, + "locked": { + "lastModified": 1737837494, + "narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "yazi": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_3" + "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1738762515, - "narHash": "sha256-0LIVLou8bMYf4guwRy6YTNhMwwKWC4Ty1pg0bHm4588=", + "lastModified": 1738824893, + "narHash": "sha256-QjsYBpcCzaQ8E8hCXYuWTZS4YnUm/7WrNvjd79YOUsk=", "owner": "sxyazi", "repo": "yazi", - "rev": "e9fcab3b375afef4b0083687388b90e060a55a37", + "rev": "b1d2be067f1270a6c5728f62c754d6b2c8fdaa4b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c965724..95bdf4d 100644 --- a/flake.nix +++ b/flake.nix @@ -12,15 +12,6 @@ nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch - stylix = { - url = "github:donovanglover/stylix"; - - inputs = { - nixpkgs.follows = "nixpkgs"; - home-manager.follows = "home-manager"; - }; - }; - yazi = { url = "github:sxyazi/yazi"; inputs.nixpkgs.follows = "nixpkgs"; @@ -84,7 +75,7 @@ }; niri = { - url = "github:YaLTeR/niri"; + url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; }; @@ -134,6 +125,7 @@ modules = [ inputs.kmonad.nixosModules.default inputs.musnix.nixosModules.musnix + inputs.niri.nixosModules.niri ./hosts/eddie/configuration.nix ]; }; @@ -149,8 +141,8 @@ modules = [ inputs.nix-flatpak.homeManagerModules.nix-flatpak - inputs.stylix.homeManagerModules.stylix inputs.sops-nix.homeManagerModules.sops + inputs.niri.homeModules.niri ./homes/emenel/default.nix ]; }; diff --git a/homes/emenel/default.nix b/homes/emenel/default.nix index 3ee7ec1..db8d777 100644 --- a/homes/emenel/default.nix +++ b/homes/emenel/default.nix @@ -6,7 +6,9 @@ }; overlays = builtins.attrValues nix-config.overlays ++ [ inputs.emacs-overlay.overlays.default - inputs.audio.overlays.default ]; + inputs.audio.overlays.default + inputs.niri.overlays.niri + inputs.shikane.overlays.default ]; }; imports = with nix-config.homeModules; [ @@ -15,6 +17,11 @@ yazi hyprlock hypridle + shell-conf # shell, shell utils, cli tools, libs, tui's + email + gnome + niri + shikane ]; home = { @@ -23,8 +30,6 @@ inputs.affinity-nix.packages.x86_64-linux.photo inputs.affinity-nix.packages.x86_64-linux.publisher inputs.affinity-nix.packages.x86_64-linux.designer - inputs.shikane.packages.x86_64-linux.default - inputs.isd.packages.x86_64-linux.default ] (with nix-config.packages.x86_64-linux; [ @@ -49,45 +54,18 @@ bitwig-studio5-latest wayback - just - yt-dlp - erdtree - age - figlet - ffmpeg-full - rlwrap - pinentry - gcr - gnutar - libnotify - unzip - zip - stdenv - tldr - delta - htop + dconf - dconf2nix - readline - gnupg - imagemagick - gnutls - gettext xorg.libX11 xorg.libxcb freetype - gnumake - flex - bison - mesa + neofetch nvd - nitch ripgrep-all silver-searcher maestral maestral-gui - nix-index fstl godot_4 sane-airscan @@ -99,13 +77,6 @@ age sops - nix-du - - usbutils - pciutils - util-linux - coreutils - binutils protonplus ispell (aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ])) @@ -113,7 +84,6 @@ appimage-run libappimage transmission_4-gtk - lsof guile python311 python311Packages.pip @@ -135,17 +105,17 @@ serapeum ])) - kdlfmt + kdotool ccl racket gdu poppler_utils - editorconfig-core-c + cljfmt libxml2 gdtoolkit_4 - openssl.out + nixfmt-rfc-style wl-clipboard clipse @@ -154,22 +124,9 @@ rustup shfmt html-tidy - libsecret - samba4Full - shellcheck wayland-utils - libffi.dev - nodejs_18 - platformio-core - icloudpd libheif.out openal - pkg-config - ftgl - gperf - numbat - glpng - nurl freecad procs rpi-imager @@ -178,30 +135,6 @@ prusa-slicer - # global node packages - nodePackages.typescript-language-server - nodePackages.vscode-langservers-extracted - nodePackages.prettier - nodePackages.javascript-typescript-langserver - nodePackages.stylelint - nodePackages.svelte-language-server - nodePackages.typescript - nodePackages.js-beautify - - nixd - nixdoc - nix-init - - git-annex - - fishPlugins.foreign-env - fishPlugins.z - fishPlugins.fzf-fish - fishPlugins.bass - fishPlugins.autopair - fishPlugins.forgit - fishPlugins.colored-man-pages - imgcat via vial bitwarden-cli @@ -214,30 +147,15 @@ tdf pdfchain pdftk - ghostscript zathura gpu-viewer - mesa-demos - gnomeExtensions.just-perfection - gnomeExtensions.dash-to-dock - gnomeExtensions.paperwm - gnomeExtensions.custom-hot-corners-extended - gnomeExtensions.media-controls - gnomeExtensions.looking-glass-button - gnomeExtensions.auto-power-profile - gnomeExtensions.appindicator - gnome-software - gnome-tweaks - gnome-photos - gnome-keyring - ulauncher + + wl-mirror - nwg-look + soundconverter - # gtop wmctrl - # colloid-gtk-theme colloid-icon-theme whitesur-gtk-theme whitesur-cursors @@ -249,9 +167,8 @@ squirreldisk papers newsflash - planify + borgbackup - vorta stirling-pdf trash-cli ripdrag @@ -265,19 +182,19 @@ wine = wineWowPackages.stagingFull; }) - chayang sway-launcher-desktop swayosd + spice spice-gtk spice-protocol virt-viewer virt-manager - bfg-repo-cleaner + thunderbird-latest emojify smile - gnomeExtensions.smile-complementary-extension + impression zoom-us nyxt @@ -289,14 +206,12 @@ slack signal-desktop eyedropper - calcurse onlyoffice-desktopeditors libreoffice hyphenDicts.en_US plex-mpv-shim plexamp - rmpc - resources + carla switcheroo tenacity @@ -332,9 +247,11 @@ ardour dockfmt impala - playerctl + + fractal + oculante - door-knocker + farge halloy paleta @@ -424,81 +341,11 @@ }; }; - accounts.email = { - maildirBasePath = "/home/emenel/.maildir"; - accounts = { - "matt@emenel.ca" = { - address = "matt@emenel.ca"; - realName = "Matt Nish-Lapidus"; - primary = true; - mu.enable = true; - mbsync = { - enable = true; - create = "maildir"; - }; - msmtp.enable = true; - flavor = "fastmail.com"; - passwordCommand = "rbw get mu4e-fastmail"; - }; - "admin@studyoftime.org" = { - address = "admin@studyoftime.org"; - realName = "ISST Web Admin"; - mu.enable = true; - mbsync = { - enable = true; - create = "maildir"; - }; - msmtp.enable = true; - passwordCommand = "rbw get admin@studyoftime"; - imap.host = "imap.dreamhost.com"; - smtp.host = "imap.dreamhost.com"; - userName = "admin@studyoftime.org"; - }; - }; - }; programs = { home-manager.enable = true; - direnv = { - enable = true; - nix-direnv.enable = true; - }; - fish = { - enable = true; - shellAliases = { - "ls" = "eza"; - ".j" = "just -g"; - "em" = "emacsclient -n -r"; - "mkdir" = "mkdir -pv"; - }; - interactiveShellInit = '' - bind --erase \ct - ''; - plugins = [ - { - name = "upto"; - src = pkgs.fetchFromGitHub { - owner = "Markcial"; - repo = "upto"; - rev = "2d1f35453fb55747d50da8c1cb1809840f99a646"; - sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s="; - }; - } - ]; - }; - zoxide = { - enable = true; - }; - starship = { - enable = true; - }; - mu.enable = true; - mbsync = { - enable = true; - }; - msmtp.enable = true; emacs = { enable = true; package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages ( @@ -521,120 +368,11 @@ ] )); }; - ripgrep = { - enable = true; - }; - thefuck = { - enable = true; - }; - wezterm = { - enable = true; - package = inputs.wezterm.packages.${pkgs.system}.default; - # extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua; - }; - bat = { - enable = true; - }; - borgmatic = { - enable = true; - backups = { - eddie = { - location = { - patterns = [ - "R /home/emenel" - "- home/emenel/.cache" - "- home/emenel/.nix*" - "- home/emenel/.steam*" - "- home/emenel/Dropbox" - "- home/emenel/Sync" - "- home/emenel/.dropbox*" - "- home/emenel/.BitwigStudio" - "- home/emenel/.local/share/bitwig" - ]; - repositories = [ - { - "path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo"; - "label" = "eddie on borgbase"; - } - ]; - }; - retention = { - keepDaily = 3; - keepHourly = 3; - keepMonthly = 2; - }; - }; - }; - }; - eza = { - enable = true; - }; - fd = { - enable = true; - }; - fzf = { - enable = true; - enableFishIntegration = false; - }; - broot = { - enable = true; - }; - git = { - enable = true; - lfs.enable = true; - }; - htop.enable = true; + pandoc.enable = true; password-store.enable = true; - waybar = { - enable = true; - package = pkgs.waybar; - }; - eww = { - enable = true; - configDir = ./dotfiles/dot_config/eww; - }; - lazygit.enable = true; - jq.enable = true; firefox.enable = true; - rbw = { - enable = true; - package = nix-config.packages.x86_64-linux.rbw-latest; - }; - }; - - dconf.settings = { - "org/gnome/desktop/background" = { - picture-options = "none"; - primary-color = "#000000"; - }; - - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - - "org/gnome/shell/keybindings" = { - shift-overview-up = ["disabled"]; - shift-overview-down = ["disabled"]; - switch-to-application-1 = ["disabled"]; - switch-to-application-2 = ["disabled"]; - switch-to-application-3 = ["disabled"]; - switch-to-application-4 = ["disabled"]; - switch-to-application-5 = ["disabled"]; - switch-to-application-6 = ["disabled"]; - switch-to-application-7 = ["disabled"]; - switch-to-application-8 = ["disabled"]; - switch-to-application-9 = ["disabled"]; - switch-to-application-10 = ["disabled"]; - }; - - "org/gnome/desktop/wm/keybindings" = { - switch-to-workspace-up = ["disabled"]; - switch-to-workspace-down = ["disabled"]; - move-to-workspace-up = ["disabled"]; - move-to-workspace-down = ["disabled"]; - }; }; nixpkgs.config.packageOverrides = pkgs: { @@ -687,17 +425,6 @@ }; }; - # stylix = { - # enable = true; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-dark.yaml"; - # image = ./akira.png; - # cursor = { - # package = pkgs.bibata-cursors; - # name = "Bibtata-Modern-Classic"; - # size = 24; - # }; - # }; - xdg.systemDirs.data = [ "/home/emenel/.local/share/applications/wine/Programs" "/home/emenel/.local/share/applications" @@ -728,41 +455,19 @@ # moving files! xdg.configFile."halloy/config.toml".source = ./dotfiles/dot_config/halloy/config.toml; xdg.configFile."waybar".source = ./dotfiles/dot_config/waybar; - xdg.configFile."starship.toml".source = ./dotfiles/dot_config/starship.toml; - xdg.configFile."niri/config.kdl".source = ./dotfiles/dot_config/niri/config.kdl; - xdg.configFile."wezterm".source = ./dotfiles/dot_config/wezterm; - xdg.configFile."just/justfile".source = ./dotfiles/dot_config/just/justfile; - xdg.configFile."git".source = ./dotfiles/dot_config/git; - xdg.configFile."rbw".source = ./dotfiles/dot_config/rbw; - xdg.configFile."shikane".source = ./dotfiles/dot_config/shikane; - home.file.".ssh/config".source = ./dotfiles/dot_ssh/config; home.file.".npmrc".source = ./dotfiles/dot_npmrc; home.file.".vst3/yabridge/yabridge.toml".source = ./dotfiles/dot_vst3/yabridge.toml; home.file.".sbclrc".source = ./dotfiles/dot_sbclrc; home.file.".signature".source = ./dotfiles/dot_signature; - home.file.".config/fish/functions" = { - source = ./dotfiles/dot_config/fish/functions; - recursive = true; - }; - - home.file.".config/fish/completions" = { - source = ./dotfiles/dot_config/fish/completions; - recursive = true; - }; xdg.configFile."emacs".enable = false; - # home.file.".msmtprc".source = ./dotfiles/dot_msmtprc; - # home.file.".mbsyncrc".source = ./dotfiles/dot_mbsyncrc; - # xdg.configFile."isyncrc".enable = false; - home.file.".local/bin" = { source = ./dotfiles/dot_local/bin; recursive = true; }; - home.file.".local/share/flf".source = ./dotfiles/dot_local/share/flf; home.file.".local/share/The Usual Suspects/Vavra" = { recursive = true; diff --git a/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua b/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua index dfbda15..c9c6346 100644 --- a/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua +++ b/homes/emenel/dotfiles/dot_config/wezterm/wezterm.lua @@ -46,7 +46,7 @@ config.enable_wayland = false; config.font_size = 14 config.font = wezterm.font { family = 'JetBrains Mono', - weight = 'Medium' + -- weight = 'Normal' } -- config.enable_scroll_bar = true diff --git a/homes/emenel/dotfiles/dot_config/yazi/theme.toml b/homes/emenel/dotfiles/dot_config/yazi/theme.toml index 5eec05f..0f5f387 100644 --- a/homes/emenel/dotfiles/dot_config/yazi/theme.toml +++ b/homes/emenel/dotfiles/dot_config/yazi/theme.toml @@ -1,6 +1,3 @@ [flavor] dark = "monokai-vibrant" light = "monokai-vibrant" - -[manager] -hovered = { bg = "#cccccc", fg = "#000000" } diff --git a/hosts/eddie/configuration.nix b/hosts/eddie/configuration.nix index 1a1de47..096f782 100644 --- a/hosts/eddie/configuration.nix +++ b/hosts/eddie/configuration.nix @@ -19,7 +19,7 @@ allowUnfree = true; }; overlays = builtins.attrValues nix-config.overlays - ++ [ inputs.niri.overlays.default ]; + ++ [ inputs.niri.overlays.niri ]; }; # environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}"; @@ -429,7 +429,6 @@ #programs.gnupg.enable = true; programs.git.enable = true; - services.gnome.core-developer-tools.enable = true; environment.gnome.excludePackages = with pkgs; [ cheese geary diff --git a/modules/home/email.nix b/modules/home/email.nix new file mode 100644 index 0000000..d0b0c14 --- /dev/null +++ b/modules/home/email.nix @@ -0,0 +1,43 @@ +{ + accounts.email = { + maildirBasePath = "/home/emenel/.maildir"; + accounts = { + "matt@emenel.ca" = { + address = "matt@emenel.ca"; + realName = "Matt Nish-Lapidus"; + primary = true; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + }; + msmtp.enable = true; + flavor = "fastmail.com"; + passwordCommand = "rbw get mu4e-fastmail"; + }; + + "admin@studyoftime.org" = { + address = "admin@studyoftime.org"; + realName = "ISST Web Admin"; + mu.enable = true; + mbsync = { + enable = true; + create = "maildir"; + }; + msmtp.enable = true; + passwordCommand = "rbw get admin@studyoftime"; + imap.host = "imap.dreamhost.com"; + smtp.host = "imap.dreamhost.com"; + userName = "admin@studyoftime.org"; + }; + }; + }; + + programs = { + mu.enable = true; + mbsync = { + enable = true; + }; + msmtp.enable = true; + }; +} diff --git a/modules/home/gnome.nix b/modules/home/gnome.nix new file mode 100644 index 0000000..ce58cc0 --- /dev/null +++ b/modules/home/gnome.nix @@ -0,0 +1,53 @@ +{ pkgs, ... }: + +{ + + home.packages = with pkgs; [ + gnomeExtensions.just-perfection + gnomeExtensions.dash-to-dock + gnomeExtensions.paperwm + gnomeExtensions.custom-hot-corners-extended + gnomeExtensions.media-controls + gnomeExtensions.looking-glass-button + gnomeExtensions.auto-power-profile + gnomeExtensions.appindicator + gnome-software + gnome-tweaks + gnome-photos + gnome-keyring + ]; + + dconf.settings = { + "org/gnome/desktop/background" = { + picture-options = "none"; + primary-color = "#000000"; + }; + + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + + "org/gnome/shell/keybindings" = { + shift-overview-up = ["disabled"]; + shift-overview-down = ["disabled"]; + switch-to-application-1 = ["disabled"]; + switch-to-application-2 = ["disabled"]; + switch-to-application-3 = ["disabled"]; + switch-to-application-4 = ["disabled"]; + switch-to-application-5 = ["disabled"]; + switch-to-application-6 = ["disabled"]; + switch-to-application-7 = ["disabled"]; + switch-to-application-8 = ["disabled"]; + switch-to-application-9 = ["disabled"]; + switch-to-application-10 = ["disabled"]; + }; + + "org/gnome/desktop/wm/keybindings" = { + switch-to-workspace-up = ["disabled"]; + switch-to-workspace-down = ["disabled"]; + move-to-workspace-up = ["disabled"]; + move-to-workspace-down = ["disabled"]; + }; + }; + +} diff --git a/modules/home/hypridle.nix b/modules/home/hypridle.nix index 688bd0c..7f27fb6 100644 --- a/modules/home/hypridle.nix +++ b/modules/home/hypridle.nix @@ -8,52 +8,41 @@ lock_cmd = "pidof hyprlock || hyprlock"; before_sleep_cmd = "loginctl lock-session"; }; - # TODO: add monitor shut off timout + # battery timers listener = [ - { - timeout = 30; - on-timeout = "systemd-ac-power || light -S 0"; - on-resume = "systemd-ac-power || light -I"; - } - { timeout = "30"; - on-timeout = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 0"; - on-resume = "systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 40"; + on-timeout = "systemd-ac-power || light -S 0 && light -s razer/0003:1532:02B6.0004/backlight -S 0"; + on-resume = "systemd-ac-power || light -I && light -s razer/0003:1532:02B6.0004/backlight -S 40"; } { timeout = "120"; - on-timeout = "systemd-ac-power || systemd-ac-power && loginctl lock-session"; + on-timeout = "systemd-ac-power || loginctl lock-session && niri msg action power-off-monitors"; } { - timeout = "600"; - on-timeout = "systemd-ac-power || systemctl suspend"; + timeout = "300"; + on-timeout = "systemd-ac-power || loginctl lock-session && systemctl suspend"; } # ac power timers { timeout = "60"; - on-timeout = "systemd-ac-power && light -S 0"; - on-resume = "systemd-ac-power && light -I"; + on-timeout = "systemd-ac-power && light -S 0 && light -s razer/0003:1532:02B6.0004/backlight -S 0"; + on-resume = "systemd-ac-power && light -I && light -s razer/0003:1532:02B6.0004/backlight -S 40"; } - { - timeout = "60"; - on-timeout = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 0"; - on-resume = "systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 40"; - } + { timeout = "180"; + on-timeout = "systemd-ac-power && loginctl lock-session"; } + + { timeout = "300"; + on-timeout = "systemd-ac-power && loginctl lock-session && niri msg action power-off-monitors"; } { - timeout = "300"; - on-timeout = "systemd-ac-power && loginctl lock-session"; - } - - { - timeout = "1800"; - on-timeout = "systemd-ac-power && systemctl suspend"; + timeout = "900"; + on-timeout = "systemd-ac-power && loginctl lock-session && systemctl suspend"; } ]; diff --git a/modules/home/hyprlock.nix b/modules/home/hyprlock.nix index 0c323d9..8eb3044 100644 --- a/modules/home/hyprlock.nix +++ b/modules/home/hyprlock.nix @@ -25,7 +25,7 @@ fade_on_empty = false; check_color = "rgb(204, 136, 34)"; placeholder_text = "hm ..."; - hide_input = false; + hide_input = false; position = "0, 0"; halign = "center"; valign = "center"; diff --git a/modules/home/kanshi.nix b/modules/home/kanshi.nix new file mode 100644 index 0000000..581133e --- /dev/null +++ b/modules/home/kanshi.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + services.kanshi = { + enable = true; + + profiles + + }; +} diff --git a/modules/home/mako.nix b/modules/home/mako.nix index e33d632..d836f3b 100644 --- a/modules/home/mako.nix +++ b/modules/home/mako.nix @@ -22,7 +22,9 @@ markup=true; actions=true; - format="%s\n%b"; + format='' + %s\n%b + ''; defaultTimeout=5000; ignoreTimeout=false; }; diff --git a/modules/home/niri.nix b/modules/home/niri.nix new file mode 100644 index 0000000..02d7448 --- /dev/null +++ b/modules/home/niri.nix @@ -0,0 +1,344 @@ +{ config, pkgs, ... }: + +{ + + programs = { + waybar = { + enable = true; + package = pkgs.waybar; + }; + eww = { + enable = true; + configDir = ../../homes/emenel/dotfiles/dot_config/eww; + }; + + niri = { + package = pkgs.niri-unstable; + enable = true; + settings = { + hotkey-overlay.skip-at-startup = true; + screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; + prefer-no-csd = true; + + spawn-at-startup = [ + { command = ["maestral_qt"]; } + # { command = ["xwayland-satellite" ":0"]; } + { command = ["clipse" "-listen"]; } + # { command = ["waybar"]; } + { command = ["swayosd-server"]; } + { command = ["plexamp"]; } + { command = [ "systemctl --user restart waybar.service mako.service hypridle.service xwayland-satellite.service" ]; } + # { command = ["hypridle"]; } + ]; + + workspaces = { + "main" = {}; + "scratchpad" = {}; + }; + + input = { + keyboard.xkb.layout = "us"; + + touchpad = { + natural-scroll = true; + scroll-method = "two-finger"; + dwt = true; + tap = false; + tap-button-map = "left-right-middle"; + click-method = "clickfinger"; + }; + + mouse = { + natural-scroll = true; + accel-speed = 0.1; + accel-profile = "adaptive"; + }; + + workspace-auto-back-and-forth = true; + }; + + outputs = { + "eDP-1" = { + mode = { + height = 2560; + width = 1600; + }; + background-color = "#000000"; + scale = 1; + }; + + "PNP(BNQ) BenQ PD2725U N2N00414019" = { + mode = { + height = 3840; + width = 2160; + refresh = 59.997; + }; + background-color = "#000000"; + scale = 1; + }; + }; + + environment = { + DISPLAY = ":0"; + QT_QPA_PLATFORM = "wayland"; + XDG_CURRENT_DESKTOP = "niri"; + XDG_SESSION_TYPE = "wayland"; + MOZ_ENABLE_WAYLAND = "1"; + }; + + cursor = { + theme = "Bibata-Modern-Classic"; + size = 32; + hide-after-inactive-ms = 30000; + }; + + animations.slowdown = 1.0; + + layout = { + gaps = 10; + center-focused-column = "never"; + always-center-single-column = true; + + preset-column-widths = [ + { proportion = 0.33333; } + { proportion = 0.5; } + { proportion = 0.66667; } + ]; + + preset-window-heights = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + ]; + + default-column-width = { proportion = 0.5; }; + + focus-ring = { + enable = true; + active.gradient = { + from = "#d8bfffdd"; + to = "#BD93FF99"; + angle = 0; + in' = "srgb-linear"; + }; + width = 2; + }; + + border = { + enable = true; + inactive = { + gradient = { + from = "#333333"; + to = "#000000"; + angle = 180; + in' = "srgb-linear"; + }; + }; + active.color = "#000"; + width = 2; + }; + }; + + window-rules = [ + # global window rule for shared config + { geometry-corner-radius = { + top-left = 8.0; + top-right = 8.0; + bottom-left = 8.0; + bottom-right = 8.0; + }; + clip-to-geometry = true; } + + { matches = [ + {app-id="Calculator";} + {app-id="Color Picker";} + {app-id="Volume Control";} + ]; + open-floating = true; } + + { matches = [ + {app-id="Plexamp";} + {app-id="scratchpad";} + ]; + open-on-workspace = "scratchpad"; + open-floating = true; } + + { matches = [{app-id="launcher";}]; + open-floating = true; } + + # Open the Firefox picture-in-picture player as floating by default. + { # This app-id regular expression will work for both: + # host Firefox (app-id is "firefox") + # Flatpak Firefox (app-id is "org.mozilla.firefox") + matches = [ { app-id= "r#\"firefox$\"# title=\"^Picture-in-Picture$\""; } ]; + open-floating = true; } + ]; + + binds = with config.lib.niri.actions; let + wez = spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process"; + wezlaunch = wez "--class" "launcher"; + in { + # shows a list of important hotkeys. + "Mod+Shift+Slash".action = show-hotkey-overlay; + + "Mod+Space".action = wezlaunch "sway-launcher-desktop"; + + "Mod+Ctrl+T".action = spawn "wezterm"; + "Mod+Ctrl+E".action = spawn "emacsclient" "-r" "-n"; + "Mod+Ctrl+B".action = spawn "firefox"; + "Mod+Ctrl+V".action = wezlaunch "clipse"; + "Mod+Ctrl+F".action = wez "yazi"; + + "Mod+Shift+A".action = spawn "hyprlock"; + + "XF86AudioRaiseVolume" = { + allow-when-locked = true; + action = spawn "swayosd-client" "--output-volume" "raise"; + }; + + "XF86AudioLowerVolume" = { + allow-when-locked=true; + action = spawn "swayosd-client" "--output-volume" "lower"; + }; + + "XF86AudioMute" = { + allow-when-locked=true; + action = spawn "swayosd-client" "--output-volume" "mute-toggle"; + }; + + "XF86AudioMicMute" = { + allow-when-locked=true; + action = spawn "swayosd-client" "--input-volume" "mute-toggle"; + }; + + "XF86MonBrightnessUp" = { + allow-when-locked=true; + action = spawn "swayosd-client" "--brightness" "raise"; + }; + + "XF86MonBrightnessDown" = { + allow-when-locked=true; + action = spawn "swayosd-client" "--brightness" "lower"; + }; + + "Mod+Q".action = close-window; + + "Mod+Left".action = focus-column-left; + "Mod+Down".action = focus-window-down; + "Mod+Up".action = focus-window-up; + "Mod+Right".action = focus-column-right; + "Mod+H".action = focus-column-left; + "Mod+J".action = focus-window-down; + "Mod+K".action = focus-window-up; + "Mod+L".action = focus-column-right; + + "Mod+Ctrl+Left".action = move-column-left; + "Mod+Ctrl+Down".action = move-window-down; + "Mod+Ctrl+Up".action = move-window-up; + "Mod+Ctrl+Right".action = move-column-right; + "Mod+Ctrl+H".action = move-column-left; + "Mod+Ctrl+J".action = move-window-down; + "Mod+Ctrl+K".action = move-window-up; + "Mod+Ctrl+L".action = move-column-right; + + "Mod+Home".action = focus-column-first; + "Mod+End".action = focus-column-last; + "Mod+Ctrl+Home".action = move-column-to-first; + "Mod+Ctrl+End".action = move-column-to-last; + + "Mod+Shift+Left".action = focus-monitor-left; + "Mod+Shift+Down".action = focus-monitor-down; + "Mod+Shift+Up".action = focus-monitor-up; + "Mod+Shift+Right".action = focus-monitor-right; + "Mod+Shift+H".action = focus-monitor-left; + "Mod+Shift+J".action = focus-monitor-down; + "Mod+Shift+K".action = focus-monitor-up; + "Mod+Shift+L".action = focus-monitor-right; + + "Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left; + "Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down; + "Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up; + "Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right; + "Mod+Shift+Ctrl+H".action = move-column-to-monitor-left; + "Mod+Shift+Ctrl+J".action = move-column-to-monitor-down; + "Mod+Shift+Ctrl+K".action = move-column-to-monitor-up; + "Mod+Shift+Ctrl+L".action = move-column-to-monitor-right; + + "Mod+Page_Down".action = focus-workspace-down; + "Mod+Page_Up".action = focus-workspace-up; + "Mod+U".action = focus-workspace-down; + "Mod+I".action = focus-workspace-up; + "Mod+Alt+Down".action = move-column-to-workspace-down; + "Mod+Alt+Up".action = move-column-to-workspace-up; + "Mod+Ctrl+U".action = move-column-to-workspace-down; + "Mod+Ctrl+I".action = move-column-to-workspace-up; + + "Mod+Shift+Page_Down".action = move-workspace-down; + "Mod+Shift+Page_Up".action = move-workspace-up; + "Mod+Shift+U".action = move-workspace-down; + "Mod+Shift+I".action = move-workspace-up; + + "Mod+WheelScrollDown" = { + action = focus-workspace-down; + cooldown-ms = 150; + }; + "Mod+WheelScrollUp" = { + action = focus-workspace-up; + cooldown-ms = 150; + }; + "Mod+Ctrl+WheelScrollDown" = { + action = move-column-to-workspace-down; + cooldown-ms = 150; + }; + "Mod+Ctrl+WheelScrollUp" = { + action = move-column-to-workspace-up; + cooldown-ms = 150; + }; + + "Mod+WheelScrollRight".action = focus-column-right; + "Mod+WheelScrollLeft".action = focus-column-left; + "Mod+Ctrl+WheelScrollRight".action = move-column-right; + "Mod+Ctrl+WheelScrollLeft".action = move-column-left; + + "Mod+Shift+WheelScrollDown".action = focus-column-right; + "Mod+Shift+WheelScrollUp".action = focus-column-left; + "Mod+Ctrl+Shift+WheelScrollDown".action = move-column-right; + "Mod+Ctrl+Shift+WheelScrollUp".action = move-column-left; + + "Mod+BracketLeft".action = consume-or-expel-window-left; + "Mod+BracketRight".action = consume-or-expel-window-right; + "Mod+Comma".action = consume-window-into-column; + "Mod+Period".action = expel-window-from-column; + + "Mod+R".action = switch-preset-column-width; + "Mod+Shift+R".action = switch-preset-window-height; + "Mod+Ctrl+R".action = reset-window-height; + "Mod+F".action = maximize-column; + "Mod+Shift+F".action = fullscreen-window; + "Mod+C".action = center-column; + + "Mod+Minus".action = set-column-width "-10%"; + "Mod+Equal".action = set-column-width "+10%"; + "Mod+Shift+Minus".action = set-window-height "-10%"; + "Mod+Shift+Equal".action = set-window-height "+10%"; + + "Mod+Ctrl+X".action = toggle-window-floating; + "Mod+Alt+X".action = switch-focus-between-floating-and-tiling; + "Mod+X".action = focus-workspace "scratchpad"; + + "Print".action = screenshot; + "Ctrl+Print".action = screenshot-screen; + "Alt+Print".action = screenshot-window; + + # The quit action will show a confirmation dialog to avoid accidental exits. + "Mod+Shift+E".action = quit; + + # Powers off the monitors. To turn them back on, do any input like + # moving the mouse or pressing any other key. + "Mod+Shift+P".action = power-off-monitors; + + }; + }; + }; + }; +} diff --git a/modules/home/shell-conf.nix b/modules/home/shell-conf.nix new file mode 100644 index 0000000..3519235 --- /dev/null +++ b/modules/home/shell-conf.nix @@ -0,0 +1,212 @@ +{ nix-config, inputs, pkgs, ... }: +{ + + home.packages = with pkgs; [ + + inputs.isd.packages.x86_64-linux.default + + just + readline + rlwrap + yt-dlp + erdtree + age + figlet + ffmpeg-full + + pinentry + gcr + gnutar + libnotify + unzip + zip + stdenv + tldr + delta + htop + gnupg + imagemagick + gnutls + gettext + gnumake + nix-index + nix-du + usbutils + pciutils + util-linux + coreutils + binutils + editorconfig-core-c + openssl.out + libsecret + samba4Full + shellcheck + libffi.dev + nodejs_18 + platformio-core + icloudpd + pkg-config + ftgl + gperf + numbat + glpng + nurl + # global node packages + nodePackages.typescript-language-server + nodePackages.vscode-langservers-extracted + nodePackages.prettier + nodePackages.javascript-typescript-langserver + nodePackages.stylelint + nodePackages.svelte-language-server + nodePackages.typescript + nodePackages.js-beautify + + nixd + nixdoc + nix-init + + git-annex + bfg-repo-cleaner + + fishPlugins.foreign-env + fishPlugins.fzf-fish + fishPlugins.bass + fishPlugins.autopair + fishPlugins.forgit + fishPlugins.colored-man-pages + + imgcat + ghostscript + playerctl + + + ]; + + programs = { + direnv = { + enable = true; + nix-direnv.enable = true; + }; + fish = { + enable = true; + shellAliases = { + "ls" = "eza"; + ".j" = "just -g"; + "em" = "emacsclient -n -r"; + "mkdir" = "mkdir -pv"; + }; + interactiveShellInit = '' + bind --erase \ct + ''; + plugins = [ + { + name = "upto"; + src = pkgs.fetchFromGitHub { + owner = "Markcial"; + repo = "upto"; + rev = "2d1f35453fb55747d50da8c1cb1809840f99a646"; + sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s="; + }; + } + ]; + }; + zoxide = { + enable = true; + }; + starship = { + enable = true; + }; + ripgrep = { + enable = true; + }; + thefuck = { + enable = true; + }; + wezterm = { + enable = true; + package = inputs.wezterm.packages.${pkgs.system}.default; + # extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua; + }; + bat = { + enable = true; + }; + borgmatic = { + enable = true; + backups = { + eddie = { + location = { + patterns = [ + "R /home/emenel" + "- home/emenel/.cache" + "- home/emenel/.nix*" + "- home/emenel/.steam*" + "- home/emenel/Dropbox" + "- home/emenel/Sync" + "- home/emenel/.dropbox*" + "- home/emenel/.BitwigStudio" + "- home/emenel/.local/share/bitwig" + ]; + repositories = [ + { + "path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo"; + "label" = "eddie on borgbase"; + } + ]; + }; + retention = { + keepDaily = 3; + keepHourly = 3; + keepMonthly = 2; + }; + }; + }; + }; + eza = { + enable = true; + }; + fd = { + enable = true; + }; + fzf = { + enable = true; + enableFishIntegration = false; + }; + broot = { + enable = true; + }; + git = { + enable = true; + lfs.enable = true; + }; + htop.enable = true; + lazygit.enable = true; + jq.enable = true; + rbw = { + enable = true; + package = nix-config.packages.x86_64-linux.rbw-latest; + }; + }; + + home.file.".ssh/config".source = ../../homes/emenel/dotfiles/dot_ssh/config; + + xdg.configFile."starship.toml".source = ../../homes/emenel/dotfiles/dot_config/starship.toml; + xdg.configFile."wezterm" = { + recursive = true; + source = ../../homes/emenel/dotfiles/dot_config/wezterm; + }; + xdg.configFile."just/justfile".source = ../../homes/emenel/dotfiles/dot_config/just/justfile; + xdg.configFile."git".source = ../../homes/emenel/dotfiles/dot_config/git; + xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw; + home.file.".config/fish/functions" = { + source = ../../homes/emenel/dotfiles/dot_config/fish/functions; + recursive = true; + }; + + home.file.".config/fish/completions" = { + source = ../../homes/emenel/dotfiles/dot_config/fish/completions; + recursive = true; + }; + + home.file.".local/share/flf".source = ../../homes/emenel/dotfiles/dot_local/share/flf; + +} diff --git a/modules/home/shikane.nix b/modules/home/shikane.nix new file mode 100644 index 0000000..b23b8a0 --- /dev/null +++ b/modules/home/shikane.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +{ + home.packages = [ pkgs.shikane ]; + + systemd.user.services.shikane = { + Unit = { + Description = "Shikane"; + PartOf = [ "graphical-session.target" ]; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + Service = { + Type = "simple"; + ExecStart = "shikane"; + }; + }; + + xdg.configFile."shikane".source = ../../homes/emenel/dotfiles/dot_config/shikane; +} diff --git a/modules/home/yazi.nix b/modules/home/yazi.nix index a857e3f..9ac0360 100644 --- a/modules/home/yazi.nix +++ b/modules/home/yazi.nix @@ -14,4 +14,6 @@ }; }; + xdg.configFile."yazi/theme.toml".source = ../../homes/emenel/dotfiles/dot_config/yazi/theme.toml; + xdg.configFile."yazi/flavors".source = ../../homes/emenel/dotfiles/dot_config/yazi/flavors; } diff --git a/modules/system/niri.nix b/modules/system/niri.nix index 43ff794..91602c1 100644 --- a/modules/system/niri.nix +++ b/modules/system/niri.nix @@ -1,5 +1,7 @@ +{ pkgs, ... }: { programs.niri = { enable = true; + package = pkgs.niri-unstable; }; } diff --git a/overlays/bitwig-studio.nix b/overlays/bitwig-studio.nix deleted file mode 100644 index 0cb2a13..0000000 --- a/overlays/bitwig-studio.nix +++ /dev/null @@ -1,9 +0,0 @@ -final: prev: { - bitwig-studio = prev.bitwig-studio.overrideAttrs (old: { - src = prev.fetchurl { - name = "bitwig-studio-5.3-beta-7.deb"; - url = "https://downloads-secure.bitwig.com/5.3%20Beta%207/bitwig-studio-5.3-beta-7.deb?__token__=st=1738511951.0~exp=1738512551.0~hmac=06d510d143491f9bf2444aec8b2876ea606d9208e2753dcf15710fb3c2ceb0d3&source_url=/dl/Bitwig%20Studio/5.3%20Beta%207/installer_linux/"; - sha256 = "sha256-CqDDz/N3Cm4BqkOI6PYACkyXZkqIRV7A3G5q7ekrMaE="; - }; - }); -}