diff --git a/.gitignore b/.gitignore index 10ea189..b2be92b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ result - -.idea diff --git a/assets/bluescreen.png b/assets/bluescreen.png deleted file mode 100644 index ef36cd9..0000000 Binary files a/assets/bluescreen.png and /dev/null differ diff --git a/colors.sh b/colors.sh index e51c155..d7ccfdc 100644 --- a/colors.sh +++ b/colors.sh @@ -79,147 +79,3 @@ printf "\033]4;14;#74C7EC\007" # FFFFFF # White 15 printf "\033]4;15;#FFFFFF\007" - -# NEW COLORS 20241101 -# -# Nr # R G B H S B # Name -# FG # 250 250 250 0 0 98 # Daisy (White) -printf "\033]10;#FAFAFA\007" -# BG # 19 19 19 0 0 7 # - -printf "\033]11;#131313\007" - -# Regular colors (0-7) - -# Nr # R G B H S B # Name -# 0 # 61 61 61 0 0 24 # - (Black) -printf "\033]4;0;#3D3D3D\007" -# 1 # 186 19 61 345 90 73 # - (Red) -printf "\033]4;1;#BA133D\007" -# 2 # 61 186 19 105 90 73 # - (Green) -printf "\033]4;2;#3DBA13\007" -# 3 # 186 144 19 45 90 73 # - (Yellow) -printf "\033]4;3;#BA9013\007" -# 4 # 19 61 186 225 90 73 # - (Blue) -printf "\033]4;4;#133DBA\007" -# 5 # 144 19 186 285 90 73 # - (Magenta) -printf "\033]4;5;#9013BA\007" -# 6 # 19 186 144 165 90 73 # - (Cyan) -printf "\033]4;6;#13BA90\007" -# 7 # 186 186 186 0 0 73 # - (White) -printf "\033]4;7;#BABABA\007" - -# Bright colors (8-15) - -# Nr # R G B H S B # Name -# 8 # 122 122 122 0 0 48 # - (Black) -printf "\033]4;8;#363636\007" -# 9 # 250 25 81 345 90 98 # - (Red) -printf "\033]4;9;#FA1951\007" -# 10 # 81 250 25 105 90 98 # - (Green) -printf "\033]4;10;#51FA19\007" -# 11 # 250 194 25 45 90 98 # - (Yellow) -printf "\033]4;11;#FAC219\007" -# 12 # 25 81 250 225 90 98 # - (Blue) -printf "\033]4;12;#1951FA\007" -# 13 # 194 25 250 285 90 98 # - (Magenta) -printf "\033]4;13;#C219FA\007" -# 14 # 25 259 194 165 90 98 # - (Cyan) -printf "\033]4;14;#19FAC2\007" -# 15 # 250 250 250 0 0 98 # - (White) -printf "\033]4;15;#FAFAFA\007" - -# BRIGHTER -# -# Nr # R G B H S B # Name -# FG # 250 250 250 0 0 98 # Daisy (White) -printf "\033]11;#FAFAFA\007" -# BG # 19 19 19 0 0 7 # - -printf "\033]10;#131313\007" - -# Regular colors (0-7) - -# Nr # R G B H S B # Name -# 0 # 61 61 61 0 0 24 # - (Black) -printf "\033]4;0;#3D3D3D\007" -# 1 # 186 19 61 345 90 73 # - (Red) -printf "\033]4;1;#E62E4D\007" -# 2 # 61 186 19 105 90 73 # - (Green) -printf "\033]4;2;#4DE62E\007" -# 3 # 186 144 19 45 90 73 # - (Yellow) -printf "\033]4;3;#E6C72E\007" -# 4 # 19 61 186 225 90 73 # - (Blue) -printf "\033]4;4;#2E4CE6\007" -# 5 # 144 19 186 285 90 73 # - (Magenta) -printf "\033]4;5;#C52DE3\007" -# 6 # 19 186 144 165 90 73 # - (Cyan) -printf "\033]4;6;#2EE6C7\007" -# 7 # 186 186 186 0 0 73 # - (White) -printf "\033]4;7;#BABABA\007" - -# Bright colors (8-15) - -# Nr # R G B H S B # Name -# 8 # 122 122 122 0 0 48 # - (Black) -printf "\033]4;8;#7A7A7A\007" -# 9 # 250 25 81 345 90 98 # - (Red) -printf "\033]4;9;#FF002B\007" -# 10 # 81 250 25 105 90 98 # - (Green) -printf "\033]4;10;#2BFF00\007" -# 11 # 250 194 25 45 90 98 # - (Yellow) -printf "\033]4;11;#FFd500\007" -# 12 # 25 81 250 225 90 98 # - (Blue) -printf "\033]4;12;#002AFF\007" -# 13 # 194 25 250 285 90 98 # - (Magenta) -printf "\033]4;13;#D400FF\007" -# 14 # 25 259 194 165 90 98 # - (Cyan) -printf "\033]4;14;#00FFC0\007" -# 15 # 250 250 250 0 0 98 # - (White) -printf "\033]4;15;#FAFAFA\007" - -# TEsting again - -# Nr # R G B H S B # Name -# FG # 250 250 250 0 0 98 # Daisy (White) -# FAFAFA # Daisy (Foreground) -printf "\033]10;#FAFAFA\007" -# 171717 # Background -printf "\033]11;#171717\007" - -# Nr # R G B H S B # Name -# 0 # 61 61 61 0 0 24 # - (Black) -printf "\033]4;0;#202124\007" -# 1 # 186 19 61 345 90 73 # - (Red) -printf "\033]4;1;#EA4335\007" -# 2 # 61 186 19 105 90 73 # - (Green) -printf "\033]4;2;#34A853\007" -# 3 # 186 144 19 45 90 73 # - (Yellow) -printf "\033]4;3;#FBBC04\007" -# 4 # 19 61 186 225 90 73 # - (Blue) -printf "\033]4;4;#4285F4\007" -# 5 # 144 19 186 285 90 73 # - (Magenta) -printf "\033]4;5;#A142F4\007" -# 6 # 19 186 144 165 90 73 # - (Cyan) -printf "\033]4;6;#24C1E0\007" -# 7 # 186 186 186 0 0 73 # - (White) -printf "\033]4;7;#FBFCF8\007" - -# Bright colors (8-15) - -# Nr # R G B H S B # Name -# 8 # 122 122 122 0 0 48 # - (Black) -printf "\033]4;8;#5F6368\007" -# 9 # 250 25 81 345 90 98 # - (Red) -printf "\033]4;9;#EA4335\007" -# 10 # 81 250 25 105 90 98 # - (Green) -printf "\033]4;10;#34A853\007" -# 11 # 250 194 25 45 90 98 # - (Yellow) -printf "\033]4;11;#FBBC05\007" -# 12 # 25 81 250 225 90 98 # - (Blue) -printf "\033]4;12;#4285F4\007" -# 13 # 194 25 250 285 90 98 # - (Magenta) -printf "\033]4;13;#A142F4\007" -# 14 # 25 259 194 165 90 98 # - (Cyan) -printf "\033]4;14;#24C1E0\007" -# 15 # 250 250 250 0 0 98 # - (White) -printf "\033]4;15;#FFFFFF\007" - diff --git a/nixos/.sops.yaml b/nixos/.sops.yaml index 385e7af..62f72a2 100644 --- a/nixos/.sops.yaml +++ b/nixos/.sops.yaml @@ -1,10 +1,13 @@ keys: - - &Tibo-NixFatDesk age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y - - &Tibo-NixTop age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37 + - &tdpeuter age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y + + - &server_H4G0 age1d4gvqz3anf082ja6xt03hnkzazfum80um9t45m4rerl4n3va2yuqgnsg03 creation_rules: - path_regex: secrets/[^/]+\.(yaml|json|env|ini)$ key_groups: - age: - - *Tibo-NixFatDesk - - *Tibo-NixTop + - *tdpeuter + + - *server_H4G0 + diff --git a/nixos/flake.lock b/nixos/flake.lock index 2124167..91147eb 100644 --- a/nixos/flake.lock +++ b/nixos/flake.lock @@ -1,15 +1,54 @@ { "nodes": { + "devshell": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", + "owner": "numtide", + "repo": "devshell", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -25,16 +64,16 @@ ] }, "locked": { - "lastModified": 1758463745, - "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", + "lastModified": 1716736833, + "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", + "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } @@ -47,11 +86,11 @@ ] }, "locked": { - "lastModified": 1720066371, - "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", + "lastModified": 1701208414, + "narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", + "rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734", "type": "github" }, "original": { @@ -62,26 +101,42 @@ }, "nixpkgs": { "locked": { - "lastModified": 1763334038, - "narHash": "sha256-LBVOyaH6NFzQ3X/c6vfMZ9k4SV2ofhpxeL9YnhHNJQQ=", + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4c8cdd5b1a630e8f72c9dd9bf582b1afb3127d2c", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-25.05", + "ref": "nixos-24.05", "type": "indirect" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1717265169, + "narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1763283776, - "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", "type": "github" }, "original": { @@ -100,15 +155,15 @@ "nixpkgs" ], "poetry2nix": "poetry2nix", - "systems": "systems_2", + "systems": "systems_3", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1758594056, - "narHash": "sha256-6XyKDRWqBngw1g73e789iyIaw/0VF04ELk/ATtlkTVU=", + "lastModified": 1701455376, + "narHash": "sha256-FMLrMdi6JY7ZfqV5XnNj64jnDcGKznKZLn7O6OMO3u0=", "owner": "ThinkChaos", "repo": "openconnect-sso", - "rev": "2041471efd331d0591d34e122aefb02690fb233a", + "rev": "20c0015c4264c72cc19ac272de0dc534309bd21b", "type": "github" }, "original": { @@ -142,11 +197,11 @@ ] }, "locked": { - "lastModified": 1721039874, - "narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=", + "lastModified": 1701105783, + "narHash": "sha256-5IOI0xXGbhAkUZNNcPId48V78Q+/JlW0hzlif0zxRmM=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "d11c01e58587e5f21037ed6477465a7f26a32e27", + "rev": "0b2bff39e9bd4e6db3208e09c276ca83a063b370", "type": "github" }, "original": { @@ -157,28 +212,29 @@ }, "root": { "inputs": { - "flake-utils": "flake-utils", + "devshell": "devshell", + "flake-utils": "flake-utils_2", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "openconnect-sso": "openconnect-sso", "sops-nix": "sops-nix", - "utils": "utils", - "zen-browser": "zen-browser" + "utils": "utils" } }, "sops-nix": { "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1763417348, - "narHash": "sha256-n5xDOeNN+smocQp3EMIc11IzBlR9wvvTIJZeL0g33Fs=", + "lastModified": 1717297459, + "narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3f66a7fb9626a9a9c077612ef10a0ce396286c7d", + "rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075", "type": "github" }, "original": { @@ -217,6 +273,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -225,11 +296,11 @@ ] }, "locked": { - "lastModified": 1721769617, - "narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=", + "lastModified": 1699786194, + "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009", + "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1", "type": "github" }, "original": { @@ -245,11 +316,11 @@ ] }, "locked": { - "lastModified": 1738591040, - "narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=", + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", "type": "github" }, "original": { @@ -257,26 +328,6 @@ "repo": "flake-utils-plus", "type": "github" } - }, - "zen-browser": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1763352549, - "narHash": "sha256-hzLnXm0v1snDENpF3KvUQBO8XOAh45qg+y4D46K3rz8=", - "owner": "youwen5", - "repo": "zen-browser-flake", - "rev": "5d002fcacbc5423090f2bba19818adda471fe0c8", - "type": "github" - }, - "original": { - "owner": "youwen5", - "repo": "zen-browser-flake", - "type": "github" - } } }, "root": "root", diff --git a/nixos/flake.nix b/nixos/flake.nix index fa8b125..95ac77c 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -2,16 +2,20 @@ description = "System configuration of my machines using flakes"; inputs = { - nixpkgs.url = "nixpkgs/nixos-25.05"; + nixpkgs.url = "nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; + devshell = { + url = "github:numtide/devshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; flake-utils.url = "github:numtide/flake-utils"; home-manager = { - url = "github:nix-community/home-manager/release-25.05"; + url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; openconnect-sso = { - url = "github:ThinkChaos/openconnect-sso/fix/nix-flake"; + url = github:ThinkChaos/openconnect-sso/fix/nix-flake; inputs = { flake-utils.follows = "utils"; nixpkgs.follows = "nixpkgs"; @@ -19,24 +23,20 @@ }; sops-nix = { url = "github:Mic92/sops-nix"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs"; }; utils = { url = "github:gytis-ivaskevicius/flake-utils-plus"; inputs.flake-utils.follows = "flake-utils"; }; - zen-browser = { - url = "github:youwen5/zen-browser-flake"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, - flake-utils, home-manager, openconnect-sso, sops-nix, utils, zen-browser, + devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils, ... }: let - system = utils.lib.system.x86_64-linux; + system = "x86_64-linux"; unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [ "corefonts" @@ -45,8 +45,7 @@ "spotify" "steam" "steam-unwrapped" "steam-run" "vista-fonts" - "intel-ocl" - "libfprint-2-tod1-broadcom" + "nvidia-persistenced" # Docker ]; in utils.lib.mkFlake { @@ -72,11 +71,10 @@ }; modules = [ + home-manager.nixosModule + sops-nix.nixosModules.sops ./modules ./users - - home-manager.nixosModules.home-manager - sops-nix.nixosModules.sops ]; }; @@ -84,7 +82,6 @@ Tibo-NixDesk.modules = [ ./hosts/Tibo-NixDesk ]; Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ]; Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ]; - Tibo-NixTop.modules = [ ./hosts/Tibo-NixTop ]; }; }; } diff --git a/nixos/hosts/Tibo-NixDesk/default.nix b/nixos/hosts/Tibo-NixDesk/default.nix index 3a22a2c..11b7a40 100644 --- a/nixos/hosts/Tibo-NixDesk/default.nix +++ b/nixos/hosts/Tibo-NixDesk/default.nix @@ -6,7 +6,7 @@ ]; sisyphus = { - desktop.hyprland.enable = true; + desktop.sway.enable = true; hardware = { nvidia = { @@ -35,7 +35,6 @@ }; services = { - tailscale.enable = true; pipewire.enable = true; printing.enable = true; openrgb.enable = true; @@ -57,8 +56,6 @@ efiSysMountPoint = "/boot/efi"; }; }; - - plymouth.enable = true; }; environment.systemPackages = with pkgs; [ @@ -78,15 +75,9 @@ networking.hostName = "Tibo-NixDesk"; - services = { - xserver.xkb = { - layout = "us"; - variant = "altgr-intl"; - }; - - openvpn.servers = { - tryHackMeVPN = { config = '' config /root/nixos/openvpn/tryHackMeVPN-tdpeuter.conf ''; }; - }; + services.xserver.xkb = { + layout = "us"; + variant = "altgr-intl"; }; system.stateVersion = "24.05"; diff --git a/nixos/hosts/Tibo-NixFat/default.nix b/nixos/hosts/Tibo-NixFat/default.nix index 2e790c3..6f0e53c 100644 --- a/nixos/hosts/Tibo-NixFat/default.nix +++ b/nixos/hosts/Tibo-NixFat/default.nix @@ -6,10 +6,7 @@ ]; sisyphus = { - desktop = { - sway.enable = true; - hyprland.enable = true; - }; + desktop.sway.enable = true; hardware = { eid.enable = true; @@ -22,7 +19,7 @@ networking = { networkmanager.enable = true; - openconnect-sso.enable = true; + # openconnect-sso.enable = true; }; nix = { @@ -90,20 +87,14 @@ powerOnBoot = false; }; - networking = { - hostName = "Tibo-NixFat"; - networkmanager.wifi.powersave = true; - }; + networking.hostName = "Tibo-NixFat"; services = { + # Handle the laptop lid switch as follows: logind = { - # Handle the laptop lid switch as follows: lidSwitch = "hybrid-sleep"; lidSwitchExternalPower = "lock"; lidSwitchDocked = "ignore"; - - # Handle the power key - powerKey = "suspend"; }; xserver.xkb = { @@ -114,14 +105,10 @@ # Touchpad libinput.enable = true; - - thermald.enable = true; }; system.stateVersion = "24.05"; - systemd.coredump.enable = false; - time.timeZone = "Europe/Brussels"; # --- Barrier --- diff --git a/nixos/hosts/Tibo-NixFat/hardware-configuration.nix b/nixos/hosts/Tibo-NixFat/hardware-configuration.nix index b0dfd70..30ba69a 100644 --- a/nixos/hosts/Tibo-NixFat/hardware-configuration.nix +++ b/nixos/hosts/Tibo-NixFat/hardware-configuration.nix @@ -49,9 +49,5 @@ # networking.interfaces.wlp111s0.useDHCP = lib.mkDefault true; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - nixpkgs.config.allowUnfree = true; - hardware = { - enableAllFirmware = true; - cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - }; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/nixos/hosts/Tibo-NixTop/default.nix b/nixos/hosts/Tibo-NixTop/default.nix deleted file mode 100644 index e689f5d..0000000 --- a/nixos/hosts/Tibo-NixTop/default.nix +++ /dev/null @@ -1,205 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - -{ config, lib, pkgs, ... }: - -{ - imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - sisyphus = { - desktop.hyprland.enable = true; - - hardware = { - eid.enable = true; - fingerprint-scanner.enable = true; - nvidia = { - enable = true; - model = "Quadro T2000"; - }; - yubikey.enable = true; - }; - - networking = { - networkmanager.enable = true; - openconnect-sso.enable = true; - }; - - nix = { - flakes.enable = true; - gc.onFull.enable = true; - }; - - programs = { - direnv.enable = true; - home-manager.enable = true; - sops.enable = true; - ssh.enable = true; - }; - - services = { - pipewire.enable = true; - tailscale.enable = true; - }; - - users.tdpeuter.enable = true; - - virtualisation = { - docker.enable = true; - virtualbox.enable = true; - }; - }; - - boot = { - initrd = { - # Use EFI and YubiKey - kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ]; - - luks = { - # Enable YubiKey PBA - yubikeySupport = true; - devices."encrypted".yubikey = { - slot = 2; - twoFactor = false; - gracePeriod = 10; - keyLength = 64; - saltLength = 16; - storage.device = "/dev/nvme0n1p1"; - }; - }; - }; - - loader = { - # Use the systemd-boot EFI boot loader. - systemd-boot = { - enable = true; - - editor = false; - memtest86.enable = true; - }; - efi.canTouchEfiVariables = true; - }; - - # Use latest kernel. - kernelPackages = pkgs.linuxPackages_latest; - - plymouth.enable = true; - }; - - hardware.bluetooth = { - enable = true; - powerOnBoot = false; - }; - - nix.settings.download-buffer-size = 500 * 1024 * 1024; # 500 MiB - - programs.zsh.enable = true; - - services = { - auto-cpufreq = { - enable = true; - settings = { - battery = { - governor = "powersave"; - turbo = "never"; - }; - charger = { - governor = "performance"; - turbo = "auto"; - }; - }; - }; - - logind = { - # Handle the laptop lid switch as follows: - lidSwitch = "hybrid-sleep"; - lidSwitchExternalPower = "lock"; - lidSwitchDocked = "ignore"; - - # Handle the power key - powerKey = "suspend"; - }; - - - power-profiles-daemon.enable = false; - - smartd.enable = true; - - thermald.enable = true; - - xserver = { - # Keyboard layout - xkb = { - layout = "us"; - variant = "altgr-intl"; - }; - }; - - # Touchpad - libinput.enable = true; - }; - - networking = { - hostName = "Tibo-NixTop"; # Define your hostname. - }; - - # Set your time zone. - time.timeZone = "Europe/Brussels"; - - # Select internationalisation properties. - i18n = { - defaultLocale = "en_GB.UTF-8"; # LANG - extraLocaleSettings.LC_TIME = "nl_BE.UTF-8"; - }; - - console = { - # font = "Lat2-Terminus16"; - # keyMap = "us"; - useXkbConfig = true; # use xkb.options in tty. - }; - - # Enable CUPS to print documents. - # services.printing.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - # services.libinput.enable = true; - - # List packages installed in system profile. - # You can use https://search.nixos.org/ to find more packages (and options). - environment = { - # Enabled to allow installed binaries in ~/.local/bin - localBinInPath = true; - - systemPackages = with pkgs; [ - git - vim-full # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - w3m - wget - zenith-nvidia - ]; - }; - - # This option defines the first version of NixOS you have installed on this particular machine, - # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. - # - # Most users should NEVER change this value after the initial install, for any reason, - # even if you've upgraded your system to a new NixOS release. - # - # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, - # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how - # to actually do that. - # - # This value being lower than the current NixOS release does NOT mean your system is - # out of date, out of support, or vulnerable. - # - # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, - # and migrated your data accordingly. - # - # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . - system.stateVersion = "25.05"; # Did you read the comment? - -} - diff --git a/nixos/hosts/Tibo-NixTop/hardware-configuration.nix b/nixos/hosts/Tibo-NixTop/hardware-configuration.nix deleted file mode 100644 index ac27dba..0000000 --- a/nixos/hosts/Tibo-NixTop/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/e759b10f-7949-4094-9272-d91340dcc5b6"; - fsType = "ext4"; - }; - - boot.initrd.luks.devices."encrypted".device = "/dev/disk/by-uuid/2b6586fa-8823-4add-94f3-132aab17b7b8"; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/12CE-A600"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.eno2.useDHCP = lib.mkDefault true; - # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/nixos/modules/desktop/default.nix b/nixos/modules/desktop/default.nix index 2defa4d..465f8ca 100644 --- a/nixos/modules/desktop/default.nix +++ b/nixos/modules/desktop/default.nix @@ -4,7 +4,5 @@ ./hyprland ./plasma ./sway - - ./waybar ]; } diff --git a/nixos/modules/desktop/gnome/default.nix b/nixos/modules/desktop/gnome/default.nix index 2ce218c..e522780 100644 --- a/nixos/modules/desktop/gnome/default.nix +++ b/nixos/modules/desktop/gnome/default.nix @@ -6,30 +6,54 @@ in { options.sisyphus.desktop.gnome.enable = lib.mkEnableOption "GNOME"; config = lib.mkIf cfg.enable { - services = { - gnome = { - core-apps.enable = false; - core-developer-tools.enable = false; - core-shell.enable = true; - }; + services.xserver = { + enable = true; - xserver = { - enable = true; + excludePackages = with pkgs; [ + xterm + ]; - excludePackages = with pkgs; [ - xterm - ]; - - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; - - videoDrivers = [ "nvidia" ]; - }; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; }; # Start a new instance of application instead of going to that window. environment.systemPackages = with pkgs.gnomeExtensions; [ launch-new-instance ]; + + # Do not use these packages + environment.gnome.excludePackages = (with pkgs; [ + baobab + epiphany # Web browser + evince # Document viewer + gnome-connections # Remote desktop client + gnome-console + gnome-photos + gnome-text-editor + gnome-tour + loupe # Image viewer + snapshot # Camera + ]) ++ (with pkgs.gnome; [ + eog # Image viewer + file-roller # Archive manager + geary # Mail client + gedit + gnome-calculator + gnome-calendar + gnome-characters + gnome-clocks + gnome-contacts + gnome-disk-utility + gnome-font-viewer + gnome-logs + gnome-maps + gnome-music + gnome-system-monitor + gnome-weather + simple-scan + totem # Movie player + yelp # Help viewer + ]); }; } diff --git a/nixos/modules/desktop/hyprland/default.nix b/nixos/modules/desktop/hyprland/default.nix index 3572342..5209653 100644 --- a/nixos/modules/desktop/hyprland/default.nix +++ b/nixos/modules/desktop/hyprland/default.nix @@ -1,87 +1,15 @@ -{ config, lib, pkgs, pkgs-unstable, system, ... }: +{ config, lib, ... }: let cfg = config.sisyphus.desktop.hyprland; - - inherit (pkgs-unstable.hyprlandPlugins.hy3) version; - - # Make hyprland package follow latest release of Hy3 - hyprland = pkgs-unstable.hyprland.overrideAttrs (old: { - version = "0.52.0"; - src = pkgs-unstable.fetchFromGitHub { - owner = "hyprwm"; - repo = "Hyprland"; - fetchSubmodules = true; - rev = "f56ec180d3a03a5aa978391249ff8f40f949fb73"; - hash = "sha256-aZCTbfKkxsEinY5V7R0NYuuitKLYc8ig8T91+yDMGJ0="; - }; - }); - - hy3 = pkgs-unstable.hyprlandPlugins.hy3.overrideAttrs (old: { - version = "hl0.52.0"; - src = pkgs-unstable.fetchFromGitHub { - owner = "outfoxxed"; - repo = "hy3"; - rev = "16dae4d8f853b0d3e8434ee9941f9fc0155b8952"; - hash = "sha256-UeMEUlQsil5DEtF/VQ//41vXJF9ff2xjoYVjhR6dqu4="; - }; - }); in { options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland"; config = lib.mkIf cfg.enable { - environment = { - sessionVariables = { - # Hint Electron apps to use wayland - NIXOS_OZONE_WL = "1"; - - ASSETS_DIR = ../../../../assets; - SCRIPT_DIR = ../../../../scripts; - }; - - systemPackages = (with pkgs; [ - brightnessctl - dunst - libnotify - swaybg - waycorner - playerctl - wlsunset - wl-clipboard # Copying to system clipboard in vim - wl-mirror # Mirror an output - wdisplays # Tool to configure displays - - swaylock - - glib - - libva - - dmenu - jq - j4-dmenu-desktop - rofi - ]) ++ [ - hy3 # i3/sway layout plugin - ]; - }; - programs.hyprland = { enable = true; - package = hyprland; xwayland.enable = true; }; - - security.polkit.enable = true; - - services = { - dbus.enable = true; - displayManager.ly.enable = true; - gnome.gnome-keyring.enable = true; - xserver.videoDrivers = [ "nvidia" ]; - }; - - sisyphus.desktop.waybar.enable = true; }; } diff --git a/nixos/modules/desktop/plasma/default.nix b/nixos/modules/desktop/plasma/default.nix index 8bdb62c..39e1ab7 100644 --- a/nixos/modules/desktop/plasma/default.nix +++ b/nixos/modules/desktop/plasma/default.nix @@ -8,41 +8,36 @@ in { options.sisyphus.desktop.plasma.enable = lib.mkEnableOption "KDE Plasma"; config = lib.mkIf cfg.enable { - services = { + services.xserver = { + enable = true; + displayManager = { - defaultSession = "plasma"; + defaultSession = "plasmawayland"; sddm = { enable = true; - wayland.enable = true; # https://discourse.nixos.org/t/plasma-wayland-session-not-available-from-sddm/13447/2 - # settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions"; + settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions"; }; }; - desktopManager.plasma6.enable = true; - - # Use gnome keyring instead of KDE Wallet. - gnome.gnome-keyring.enable = true; - - xserver = { + desktopManager.plasma5 = { enable = true; - excludePackages = with pkgs; [ - xterm - ]; - videoDrivers = [ "nvidia" ]; + useQtScaling = true; }; + + excludePackages = with pkgs; [ + xterm + ]; }; - environment.plasma6.excludePackages = with pkgs.kdePackages; [ + environment.plasma5.excludePackages = with pkgs.libsForQt5; [ elisa - gwenview - kate + okular khelpcenter konsole - kwalletmanager - okular - plasma-systemmonitor print-manager + plasma-systemmonitor + gwenview ]; }; } diff --git a/nixos/modules/desktop/sway/default.nix b/nixos/modules/desktop/sway/default.nix index b9a8003..055bfb0 100644 --- a/nixos/modules/desktop/sway/default.nix +++ b/nixos/modules/desktop/sway/default.nix @@ -71,7 +71,7 @@ in { wayland xdg-utils # Open with default program glib # gsettings - wl-clipboard # Copying to system clipboard in vim + wl-clipboard wl-mirror # Mirror an output wdisplays # Tool to configure displays @@ -82,11 +82,10 @@ in { playerctl swaybg swaylock-effects + waybar wlsunset - waycorner # TODO Turn into own module/package? - dmenu jq j4-dmenu-desktop rofi @@ -95,7 +94,6 @@ in { ]); environment.sessionVariables = { - ASSETS_DIR = ../../../../assets; SCRIPT_DIR = ../../../../scripts; }; @@ -108,40 +106,47 @@ in { noto-fonts-emoji ]; - hardware.graphics.enable = true; - + security.polkit.enable = true; + services = { atd.enable = true; # Required by sunset.sh dbus.enable = true; - displayManager.ly.enable = true; gnome.gnome-keyring.enable = true; - power-profiles-daemon.enable = true; - xserver.videoDrivers = [ "nouveau" ]; - # xserver.videoDrivers = [ "nvidia" ]; - }; + pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + }; + + power-profiles-daemon.enable = true; + + xserver = { + displayManager.session = [{ + manage = "window"; + name = "Sway"; + start = '' + ${pkgs.sway}/bin/sway --unsupported-gpu & + waitPID=$! + ''; + }]; + videoDrivers = [ "nouveau" ]; + }; + }; + xdg.portal = { enable = true; wlr.enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-gtk - gtk-session-lock - ]; - xdgOpenUsePortal = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; programs.sway = { enable = true; - package = pkgs.swayfx; wrapperFeatures.gtk = true; }; - sisyphus = { - desktop.waybar.enable = true; - - users.wantedGroups = [ - config.users.groups.video.name # Brightnessctl - ]; - }; + sisyphus.users.wantedGroups = [ + config.users.groups.video.name # Brightnessctl + ]; }; } diff --git a/nixos/modules/desktop/waybar/default.nix b/nixos/modules/desktop/waybar/default.nix deleted file mode 100644 index d893470..0000000 --- a/nixos/modules/desktop/waybar/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.sisyphus.desktop.waybar; -in { - options.sisyphus.desktop.waybar.enable = lib.mkEnableOption "Waybar"; - - config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - libnotify - playerctl - jq - j4-dmenu-desktop - ]; - - programs.waybar.enable = true; - - services.atd.enable = true; # Command scheduler - }; -} diff --git a/nixos/modules/hardware/default.nix b/nixos/modules/hardware/default.nix index 238bcea..2d38b1e 100644 --- a/nixos/modules/hardware/default.nix +++ b/nixos/modules/hardware/default.nix @@ -1,7 +1,6 @@ { imports = [ ./eid - ./fingerprint-scanner ./nvidia ./yubikey ]; diff --git a/nixos/modules/hardware/fingerprint-scanner/default.nix b/nixos/modules/hardware/fingerprint-scanner/default.nix deleted file mode 100644 index b7580c6..0000000 --- a/nixos/modules/hardware/fingerprint-scanner/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.sisyphus.hardware.fingerprint-scanner; -in { - options.sisyphus.hardware.fingerprint-scanner.enable = lib.mkEnableOption "Fingerprint scanner support"; - - config = lib.mkIf cfg.enable { - # Enable driver - services.fprintd = { - enable = true; - - # Enable Touch OEM Drivers library support - tod = { - enable = true; - # Dell drivers - driver = pkgs.libfprint-2-tod1-broadcom; - }; - }; - - # Start driver at boot - systemd.services.fprintd = { - wantedBy = [ - "multi-user.target" - ]; - serviceConfig.Type = "simple"; - }; - }; -} - diff --git a/nixos/modules/hardware/nvidia/default.nix b/nixos/modules/hardware/nvidia/default.nix index e98ed6d..2b811fc 100644 --- a/nixos/modules/hardware/nvidia/default.nix +++ b/nixos/modules/hardware/nvidia/default.nix @@ -25,31 +25,25 @@ in { }; config = lib.mkIf cfg.enable { - boot = { - extraModprobeConfig = '' - options nvidia-drm modeset=1 - ''; - kernelParams = [ - "nvidia_drm.modeset=1" - ]; - }; +# boot = { +# extraModprobeConfig = "options nvidia-drm modeset=1"; +# +# initrd.kernelModules = [ +# "nvidia" +# "nvidia_modeset" +# "nvidia_uvm" +# "nvidia_drm" +# ]; +# }; hardware = { graphics = { enable = true; - enable32Bit = true; - extraPackages = with pkgs; [ - intel-ocl - intel-compute-runtime - opencl-clhpp - opencl-clang - opencl-headers - ocl-icd - ]; + driSupport32Bit = true; }; nvidia = { - # Use the NVidia open source kernel module (or not) + # Use the NVidia open source kernel module open = false; package = config.boot.kernelPackages.nvidiaPackages.stable; # Modesetting is required. diff --git a/nixos/modules/hardware/yubikey/default.nix b/nixos/modules/hardware/yubikey/default.nix index 2134c87..708b9c1 100644 --- a/nixos/modules/hardware/yubikey/default.nix +++ b/nixos/modules/hardware/yubikey/default.nix @@ -25,17 +25,11 @@ in { ]; # Send a notification if the YubiKey is waiting for touch. - systemd.services.yubikey-touch-detector = { + systemd.user.services.yubikey-touch-detector = { enable = true; description = "Detects when your YubiKey is waiting for a touch"; - path = with pkgs; [ - gnupg - yubikey-touch-detector - ]; - wantedBy = [ - "graphical-session.target" - ]; - script = ''exec yubikey-touch-detector --libnotify''; + path = with pkgs; [ yubikey-touch-detector ]; + script = ''exec yubikey-touch-detector --notify''; environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true"; }; }; diff --git a/nixos/modules/networking/networkmanager/default.nix b/nixos/modules/networking/networkmanager/default.nix index b47874e..492e724 100644 --- a/nixos/modules/networking/networkmanager/default.nix +++ b/nixos/modules/networking/networkmanager/default.nix @@ -6,13 +6,7 @@ in { options.sisyphus.networking.networkmanager.enable = lib.mkEnableOption "NetworkManager"; config = lib.mkIf cfg.enable { - networking.networkmanager = { - enable = true; - - plugins = with pkgs; [ - networkmanager-openvpn - ]; - }; + networking.networkmanager.enable = true; # Prevent slow boot times systemd.services.NetworkManager-wait-online.enable = false; diff --git a/nixos/modules/programs/direnv/default.nix b/nixos/modules/programs/direnv/default.nix index f974886..ad16c7c 100644 --- a/nixos/modules/programs/direnv/default.nix +++ b/nixos/modules/programs/direnv/default.nix @@ -8,7 +8,7 @@ in { config = lib.mkIf cfg.enable { programs.direnv = { enable = true; - nix-direnv.enable = true; # Use nix-specific direnv, https://github.com/nix-community/nix-direnv + nix-direnv.enable = true; # Use nix-specific direnv. }; # This is also done by setting programs.direnv.persistDerivations. diff --git a/nixos/modules/programs/sops/default.nix b/nixos/modules/programs/sops/default.nix index c18f0fc..443eac9 100644 --- a/nixos/modules/programs/sops/default.nix +++ b/nixos/modules/programs/sops/default.nix @@ -14,8 +14,8 @@ in { # Add secrets.yml to the Nix Store. defaultSopsFile = ../../../secrets/secrets.yaml; age = { - # Don't derive age keys from SSH keys. - sshKeyPaths = [ ]; + # Automatically import SSH keys as age keys. + sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; # Use an age key that is expected to already be in the filesystem. # You will need to place this file manually. keyFile = "/var/lib/sops-nix/key.txt"; diff --git a/nixos/modules/services/openrgb/default.nix b/nixos/modules/services/openrgb/default.nix index 15d1564..ae4fc51 100644 --- a/nixos/modules/services/openrgb/default.nix +++ b/nixos/modules/services/openrgb/default.nix @@ -6,24 +6,18 @@ in { options.sisyphus.services.openrgb.enable = lib.mkEnableOption "OpenRGB"; config = lib.mkIf cfg.enable { - boot.kernelModules = [ "i2c-dev" ]; - - environment.systemPackages = with pkgs; [ - openrgb-with-all-plugins + services.udev.packages = with pkgs; [ + openrgb ]; + boot.kernelModules = [ "i2c-dev" ]; + hardware.i2c.enable = true; - services = { - hardware.openrgb = { - enable = true; - package = pkgs.openrgb-with-all-plugins; - motherboard = "intel"; - }; - - udev.packages = with pkgs; [ - openrgb - ]; + services.hardware.openrgb = { + enable = true; + package = pkgs.openrgb-with-all-plugins; + motherboard = "intel"; }; }; } diff --git a/nixos/modules/services/pipewire/default.nix b/nixos/modules/services/pipewire/default.nix index 68985d3..b83eedc 100644 --- a/nixos/modules/services/pipewire/default.nix +++ b/nixos/modules/services/pipewire/default.nix @@ -29,8 +29,10 @@ in { # Headphone jack on laptop { "node.name" = "alsa_output.pci-0000_00_1f.3.analog-stereo"; } ]; - actions.update-props = { - "session.suspend-timeout-seconds" = 0; + actions = { + update-props = { + "session.suspend-timeout-seconds" = 0; + }; }; } ]; diff --git a/nixos/modules/virtualisation/virtualbox/default.nix b/nixos/modules/virtualisation/virtualbox/default.nix index 3124493..ccd8fca 100644 --- a/nixos/modules/virtualisation/virtualbox/default.nix +++ b/nixos/modules/virtualisation/virtualbox/default.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs-unstable, ... }: +{ config, lib, pkgs, ... }: let cfg = config.sisyphus.virtualisation.virtualbox; @@ -6,19 +6,18 @@ in { options.sisyphus.virtualisation.virtualbox.enable = lib.mkEnableOption "VirtualBox"; config = lib.mkIf cfg.enable { - virtualisation.virtualbox.host = { - enable = true; - enableExtensionPack = true; - enableHardening = true; - package = pkgs-unstable.virtualbox; + virtualisation.virtualbox = { + host = { + enable = true; + enableExtensionPack = true; + }; + guest = { + enable = true; + clipboard = true; + seamless = true; + }; }; - - # https://www.virtualbox.org/ticket/22248#comment:1 - # and - # https://github.com/NixOS/nixpkgs/pull/444438 - boot.kernelParams = [ "kvm.enable_virt_at_load=0" ]; - # Define the group users.groups.vboxusers = {}; diff --git a/nixos/overlays/spotify/default.nix b/nixos/overlays/spotify/default.nix index 84be4da..fc77396 100644 --- a/nixos/overlays/spotify/default.nix +++ b/nixos/overlays/spotify/default.nix @@ -9,7 +9,7 @@ final: prev: { sha256 = "sha256-UzpHAHpQx2MlmBNKm2turjeVmgp5zXKWm3nZbEo0mYE="; }; - cargoHash = "sha256-oGpe+kBf6kBboyx/YfbQBt1vvjtXd1n2pOH6FNcbF8M="; + cargoHash = "sha256-oHfk68mAIcmOenW7jn71Xpt8hWVDtxyInWhVN2rH+kk="; buildInputs = with final; [ cargo diff --git a/nixos/secrets/HomeLab.yaml b/nixos/secrets/HomeLab.yaml index d39ba71..9678afb 100644 --- a/nixos/secrets/HomeLab.yaml +++ b/nixos/secrets/HomeLab.yaml @@ -1,41 +1,25 @@ HomeLab: - Gitea: - ssh: ENC[AES256_GCM,data:+H9qhfOg5WlTB7pihvbJ9omY/zLTAADe8KzI4fbdZ7NuaM0auC95AIQqhwNNCZNglg9UGOVL662pY7dNhbQ/2iCLPHSPgFFXf3fx1moRRcYYQzoJxsgxp19FZQeGNJ0qfRf72xYbZQZKslyHQmcqDieoVTyhaLqTfgC8MQ/UZofw/ortmgME7z51rGV5sXXMjxpJpHz9JxiPwQEL0ABWDAeCqBVBzlqqwdmfKEdkcR4l3USHfH1iNF5XQ5V26I+UGDOyoixt1c/BXzD9xzKI7MUDoRz+qfC6C62LIlEgqZY5tWg+tVZnqobakxwH6d8pXtQ7vaIREEP0LqQMkrNcK8X+cDRteToQ1fcxtN1V+JfZSa9pVC+iGgvmSZ00q4bnOgTmgO9IZ80TvOR4bHpRhjM5l4JMbLBv2jqY1zeUx/5L3WNuYIm9sL5mWXkV/RAD8WCemNSWdKbGsvByEUeiFcxczL/vQ6y3fi+ntmXUgeXVy5zVNkNlYbqd+DemBmwZQb9D1T5T97i2ChciYb3/ON1NObja/bt0PTQa,iv:hIbwsPcDSfgDItlvFFy0vCjuQWvgoQHBH60v8nTVTNg=,tag:1T/TdTEy98TfgMzYAxfHKA==,type:str] - HTPC: - ssh: ENC[AES256_GCM,data:svt6jhMXVCydmlcoa052TtFoIwQiAzNJRn9GPZDBuOGSnB83kUpuy/oqPOIa2ipco0L/5F/mQWn7OHUFtyhWWMerzY8niPldUDKH4jgsvRhRIatGOFiDyL8oA+f1O9lmhyFx35uxGa+Q6tn6rtXVKRVWQFe8kYBvGYjugKixsOMugoqLIxY8wUlMTzm6uDd7a72s/0hgQZGKp0eHWBHEdSJGPdv8svVDZ1PBMrlZa5ZpuiUmmvZvyCEnRtImUZALG4nKMvJjunxKr/4MJhWuffQ60jLYzInoGggiJlwBm+E+m43FwIFndY+LJ+ykO5RAbHhSwgXsCS5WXBrvDGuOTNAlIp6yTgSK1DCzSjzOJOc93rVSPhPdkaOoKgxhz1k95qCEhYUf9vyBgyIaOntWEArV+OZmHje6awbk4fpyIzRe7ggHlhKILYoGYzeejxbMGB9nH15RlUiTF7QnAWxWNSwcET6dSn2MtpC3yegnYl4u3eJ7YkHHYYQtwCQ9vCnt0i/sfuJmbrSFBXnVKMWB2w1Att145gDdlDok,iv:4bkSYvgmG6j/AwVnfGsLjdqtyP/gpWRvOKZCQxP0sMs=,tag:LyjE7dTt0+IDuSlbVLgCMg==,type:str] Hugo: - ssh: ENC[AES256_GCM,data:y233CFIH7/n4EGEd2D7MuoprcMV9A8DaiV9JYZ6sr5j+hZnGr8sIAm9/55Bi2cD74sBZcE+tjOz+V2aJ2llKgcdS84ZmXMPh6KQ2QYRYuGdBLeztl8foKdimToblBapebTVO7Rc2mdhg7sZtC/TKSIJnG3R3lRfRdKaxNjaRS51epl7VZKGhLBjZoZqMXOezY7lvNBvF3hFfMh5el5I5Te/yQbbp0a7DkAvA+c1nG9bo9FN0h3VJJTzcuHqvGHI736VosLe8UGirMkX9mBwB8ZV4+2Vp7ZsSHnX5or/MzuYexT0zeLbTNHfj64d2W2/LKDkxNc35Sw7NvxwsVj3k2UHC2jEgus2z0AdMFszEFXh+Eu9wK8yX4ebzUut+OHNPuxvIk+ORxYr3OdVkOhhWHLinu/skNg0u5OdUXo/0p1876+gpcnOVC5UrUflwrtKGQgNk+ovWWjSfcQMh+gI6GYXzksX3YdMEriYZt4Z8lev2od/i7q48cV4W3Lo6TDDttipynxQus6K+J3oBKRirLHylRA5gusqUOVzC,iv:thw9OUnA02qe6aMuLTwy+q/a6isB375/k7JixPEy960=,tag:s95FtFRmPG0Up2oVuQyXsg==,type:str] + ssh: ENC[AES256_GCM,data:Tfuba25e4hJ8Ovl1IdVtDvg0L0sCc9sYTXstRg89IAUzwv/1u8mxdj9ka6ZKaSQr2QUaNWs0BoPV36O4bI2hTwoqhUarhXXZNnJKHtd8xBu/+kfMSOMGa5qD9V9m3L5OFdt+gdwhJxemeQNkvN0Vhsu4DJFPZRPmGflJ2HVRYaRW4AsI+JPqiWSEeKz40f3PQPJ2h26gF+pADmPwtEfcUGZdGnJXUsiYMC0aBEWWxyAgBgj5W+Nbe+OCopEX1qyRcR8qO+LONjuC0b5hcGeOXjWj/d1FnBfxDHeoxRGhNCo8TUk0ap1mpSAttdr55/C51duQfeV09Iow4nzUR2H0jmzojUAjKXXCkBsK6yjIKxW+4+4OKCC9ERz5mDmu5Z+4aFM7CpSquCAnDVFw1Uq9MJqAnSz6AGh29J4LUwMnVNtf+gQwzGyl/C9wE/Svm0UAwP19h6hLcM1rp6bV4xjfSXNDspUkz4Xr3RdPpTI1PemtMZIq8fP64q0FlFZeV62ctl9hCtDVRDo3fG3FUM08fa0OfJpVYjSEAOfC,iv:T8z+P5++cES9Co9d/2tcU0PbxZZM/5x63tcxIjBeQ0I=,tag:AjsulFme64/xEPjgZQFtow==,type:str] Nextcloud: ssh: ENC[AES256_GCM,data:aVqa57u9hIOquP367EDj2rlyQWRe3EZv8l5cC+yQQKCri2bN5IFSq8qNemOIcU9ycBnxIyK6gLerJYQQcgzIIARmnfDpbJ9w+EeUL5yvPVJN6FM7oBeaL9mzYRl8aDKr22LhL9YiKAT1nKHESmTb3TZRvuvWJTGzCMRV85ROGxZYVUgG6BjuHEzuTsc4fy3NVPIl7/4ZjPgNNYx+UNsV5xwTejveB/sGblVrHOO74LZXzUWRlQNun5nM3MY3GALzfrPrVIAyGNu37CGachtwxaPOj7vUKZmD/e+XajYVKRJ3v33jrUeI0dDmhuwJj3taoFik6suAyiK3RlDdeWoERR8vqduiyxJnVMs6mNkigzkVtifpwZyQ8vNyG7w1JNPygMYgQzjN43lGVml8cx1lZvcoBzQabjWxcNzhV8gXxoGKvAwUV7ELB6l00rUH+EeI0uU8/IFm9kwmZq42ciM/bRGSGXzo2PYG2OHOiDe5b0nrIlajaRKd+vuuzTtFFU9EwH0GPzERRaoxVK+h9tzcco/REITCE+CVlHSx,iv:bb1X95HK5tT7EJpqqgMOUxw5VO5MuzoYxkPIzR5sEqU=,tag:y2LKHm7czwyuHp7Ea8KiYw==,type:str] - NixOS: - admin: - ssh: ENC[AES256_GCM,data:rAn/H2CtK2dkES2UIJrZbEP/3rqLgJsy5rortmdqoCthQ41IxztiaH1VtdaVDtw5j0qu49RJ59KkmYpOQXC2okAgLeqcb+J9iwrwspfKd+/I186a4gHZ2l+hGpmr3Vbs6K/UoCY67uygZhznBuwKeW4EjYJgGS7zInJFmMvcMV1rP/t4VoW+5oxptQNCrzoRukIG6NiAOcqU1GtvBfL5PxLaTWUEcZMYuo6sY/9VuEWgkZP1bmhBPUIv9D5yJo94KQr0YOaX4lz2pwd+K0cdD8d0Lh8B5YplA1NDCUnBbuDXfH0aSUAm7DCm6Y/E2UECEMRLuwfyEoe/yaHh8iCGveI//FkmiIKNY1SmTkjM2Fdfk6QaVDF8sG2CWdX21H3senfeM6jSow7JLY1LDvC2WxO4YIJEi14Y7zEpIZinWimyAhihPvMLnwd3taOhE59NrTOQKQS3tyFX+5tO3LtBrpn+Tm/B7WO49EkRn1LXN8CWkFnEEGXgxfNRg91C967nHaNpDMssGjfVG20WwYAtMKXzrNyzSEJbZglQ,iv:vY/8yyO0eLzpdho9aPUH9WGQ8Cp5LA+5RckjzDgYMMY=,tag:Jar1qVS/c1rQ8f3qpYqJdA==,type:str] - Roxanne: - ghost: - ssh: ENC[AES256_GCM,data:hkgVUVyCLANeYB4bcCTLB/F6eAbg7J4eN8y+VVzBfkcgnpDmXmghBihreQVT7OIwRrHIH1ok2vuH8vgXb38tuplUD5I8e0Gqy3EqpOGagsO8lss4aIg2lRwZ9WazJknvo4OaGc34jrwcZicesnaxK6g+GX2r2N4caGKMuOZ2i1mLKBwOcEtL6l3REKrGkExd3mYJX1Yqs7sMbGLNpfemDghv646zvxDRwPby49qIPA8OtGR+DBMZTTEviNqamJaFbs7YX+K77J1NHK59u6UfzU6hEjTBEYIjkFDzGATAZAopCsjOHcAA0alejHK4QZZt3e8unVsLICNK08ZCyEzwSXQ/wpUh3ccGcLit2t1LYZT4PqqG8+6ooaQYso67Wral0pdsTsrF0mGNfsZm76MDV9puP5B+IInanHz+2mCHbdmTi6rg9t8Q6mpFqrUbrwxMn2Ns1proBXBCqK/sFjC/bVIyMHUVOh6GYcKaVTv8ecB9ZEjp5dZ4VeStqTMT+xqS7dXBAJzGytLwXT/JaQelIE0w47aBaGy63Pqy,iv:WuAGU+ru8xLp2LXK12x/ueCH0XDxA0zGUt7+HWUdVMo=,tag:UqUMD/jSdTXOkf0kyMqwHA==,type:str] - Vaultwarden: - ssh: ENC[AES256_GCM,data:LJ7nbIdl1GqcsBtOwqsDtjKMfks13X5hsGkEFxDj0eX1EegEBkoWnzstu34RTgt1O1O+3Y/Amg7cDce2ZyZrTwDmLqinpuJD3CI7pRtQygAH8X9wPQYE6U3D1t4dXuMcDftjS+uY0CJFmq01dLv0GytSZSiNBcqNepTY+fO20yylyUbDGjI3Foyi86ipEtLVeFJqESiHDMHn/Cr+ggpLNMXijpnyoCRstPlm3GY3n6EhPwKhwovLB3AXolUeScnInIpwiikVTkYLNLCbrG8KAAr+DmWK3GTZYToH0wV8HpacPQI+4cHf96+EvAVlYMwGyQztPmXO7/9xUgWCNYow+z8BD6ijMuyZHT9aNkoAPt/y72N/PSf5HqW0QVWr3LmyIG+i9Bxbhqc7mRUIy4wZsODbtoO8/RtAly6mXIg0DZLlbo8kDe3TE3m+P5E/KQJOAvM2QdL+NXPcf2J2JYHW4kzITx447Bc3+F/DRs616MhekIoDybLhY3MT0XvYX1d1wAv/Ip98EGzfptXjnJvKPcJgTBlqNyeKuPOe,iv:oEGJUpoj+N30TgLpSWQqGdqYBdWLUWnSuQ+7TdSgmFc=,tag:AUZ2QnPUxLHaxsHbrmSYZQ==,type:str] sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] age: - recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlL05vZHk2T1B6OHArUXlj - bEZWV0dUeVN0M3ZpeHdKcGlKV1RWYmRLM0FjCm9PLzBZTFo3RjhZTEhYMDBSN2Nj - aithQ2hpZXVCSngxcVBvQ2hKRzFXUEEKLS0tIE5rL0NHb1llRmlSQXVUeU8rVmNY - aEZHdDFEWUdxMzRVVjFhQWZmS04wRkkKrD2CiwdNcbK9s64omQ7xSA29J48HwIHa - ickyL/uorYhXmBKhqdvNq/j1Nb88LR9ti55Z7eecJNbyJb4OTtgzXQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k + SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz + ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6 + aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A + dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== -----END AGE ENCRYPTED FILE----- - - recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBOWNXQ1BsekdoS3BCdHA4 - YTJJRHJBTEJ1bmhkWktSamYyRk1TUmovZ2trCnBXbUZQZFBndmU3VzJHVjczZGtY - ZkJDY3RzSEhXQVlLL0g1QTYxSC9CZGMKLS0tIGFBZnNlWmZjZFdkdGZvaHA5ZjMw - NFRtOFIybnFPWm1idFY0WEVqVGxOK1UKiJDByqKv/i/l9dvOplDyzDORU3ulhSwi - 6xyEqmyNQpIkiS6TLZZYrBlQMDYqZ2gj1HhdIUssWJCf5Ho8KVDjJQ== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-18T15:55:58Z" - mac: ENC[AES256_GCM,data:vdVOTFlDD9jlGJksI5TDxk3stPkLY8lB6LMhV6QGqh9R2vaGuGGh6RZuR6AInq1Rm89innA6M1S2UUM6Jef1EKiPgq41neWMx/i3n7Ixx8FcraO/lgUYKG5yszYdjAlLQvKWqIbvX0bMYNwpF10FO5OyiXWiJrP9Om0Pjvk7dO8=,iv:W9I1nv0fKckNlNjJF0U4HlkyI5VDpvOGiSo0GeOODaY=,tag:RjkSTQYejyf1WO0LilbXYg==,type:str] + lastmodified: "2024-10-19T12:24:34Z" + mac: ENC[AES256_GCM,data:Bh/vHdsFCzk+YaRcZe/Eiq4xfLSDX1tSV4Jg8lFgzPqXCBwCgohDREZ8LSZPuQtStIugzyRNyPcnWrZcDwDiaS9klM5sIxjeGIF7ZDS81sQnQVNRyX/m9vl6AgVtP9KHgOpJwGObzuvNBE7XnOZ3q03/ah1LXRowJUn63wB4Qxk=,iv:GVLQUjm0bMHusD0F8gJ5DlZvqdDHPsT0VwxLhHh9ozE=,tag:cffv8wKTQ9UYrCPx+3zTMw==,type:str] + pgp: [] unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.8.1 diff --git a/nixos/secrets/UGent.yaml b/nixos/secrets/UGent.yaml index 634ba65..ee6240b 100644 --- a/nixos/secrets/UGent.yaml +++ b/nixos/secrets/UGent.yaml @@ -6,26 +6,22 @@ UGent: SubGit: ssh: ENC[AES256_GCM,data:hJAle4DHJNvX569reclBG5rEdWsjAyV2TtHYMiPfky/dMKJkYgT4+T0doLfUn1O6at77kJGPmwUEvmK819DUuvHtNY7c6angV7iLygJ/ThI1FIFOKH+NxEsI3scoT0VDDybHpgice/fcJL1tMcvE74+dWOnZ2r4pxcMJEFHUPVVWcl9/stJLn78OonsyWpj8PglcnYFOfZ6THIe3lyNBxRp7XEweuwjacthGzOzNu3Z95zcCAnAokFVZ570glJNhjJVNEmPHZkHOcGiGNNM4JNbR11v+dOYtac942t/mmmWwAzbznuu8ZLupYWjdg/f07ftkPAwFwCoXblZ3708Lvf6uOt/CPeWvEII2Haf1Cr5w+U6TAt14zzL73xCSQqwz1TfkcmD+bJplmtcpSP/KX8/BRK7qr6Ec5T9ecbraRB7zDBg0X2x51DSHLrA7UIhpI9JNaOArU5UOVYTWwuzFiGG61elJMcPZ5vWEVrTCocfa4INPo4B2MkFbbsYf6xnY1L3Wc9LQjkff6aCqYnQaXZ/WfPWepf9YvYG1,iv:0Bm1r0FuJJKKmcbTiPL36rb5FaMZfOO7Mx8pXU2FSfg=,tag:0ShoJPJUx37mEAus+mhPmw==,type:str] sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] age: - recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpb0dlWE5PNllnME1jQWE4 - cHFzWkR4ZzNaWlR0WDJ4c1hEdlJGN0FISWlZCmNNdVRtL080QzgwQTZtTGpVRkxW - dkdvYXdQNUlhYWQrYlNDR2JISXdpdkkKLS0tIEpIU20rK3F3WGpBS1g3NmJqYWRX - SWlNbFZ0NTJJZ09Wd3JzK1hscjJoS2MK4GU8ndim80CaOjgvMwVlgIq/1VQIylSZ - EJl15zUFaDiDZUCcZE8TkJQ/rbGDSiq7KlWyFe48Q3UC86jfF88qCg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k + SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz + ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6 + aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A + dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== -----END AGE ENCRYPTED FILE----- - - recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYNjkzeHloK3hKUTJaMTdr - NUdiZ2JGZitqN1k0WCtEODU4R2MrTmUzR1hrCmNJL0Y4ZEpLN0l6ZmhGWEM5UktG - ck1PUnFSSVNCRUd5Sm9kSXNmVW5jZDQKLS0tIHpHWVBVNFNBSlUvZldJVGowUEtZ - S05HZ0FiSVlkUjRRV01TbjlpVFlkQWcK7jAqOYd9EDT93xpVgtpKl03EO6oHmGRR - iK9j2y7j1YSghPKDBrC5eKy9+IP/EFEBGygcokqT7C6Nscu80YhVbg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-06T14:01:15Z" - mac: ENC[AES256_GCM,data:bWo5DGCt5cK02Lf61yKFDZLLaMmcWyba+03CZ35EnGz7Hoc1sl3qTmgJfNz8EKDeXTIkk33DdnI/kZ2nX7vsZ/QgOhFQWzWRYe1cxqiWyd0wnUlwdoeeFrBP3uOTHXAOVe6q77S3qChzBP3J+5OijztvdOVEOKFmFPSCgyA029Q=,iv:6DSp63IrtYyaFxkaify/JZDXpB76AaGGW/OcPTKBbvk=,tag:sPKddpcx60JFZ4VEGD1tnQ==,type:str] + lastmodified: "2023-10-10T06:57:11Z" + mac: ENC[AES256_GCM,data:Tvwv2mqceAxi7ic3+95Y6hBMHjqVoCkYnTkEsXOrhumgXpuuB/QQ0ASEf6gbgkCLXGwnUAXsK41bIIJfFgYSk89fHw6AaXfs6a+zL2Mh5zkhMIE2bm68mFK8+/TX/e8SibbEwNZCKOcPqvaO6nK816KCmh3KKCbT9ObaB6CA/KI=,iv:YPKgYAnQ135JXou7q9jVN7b3SKIDwceKcbqiIjkqnTU=,tag:udPrEVu2F+hWkhNoEyjTYg==,type:str] + pgp: [] unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.7.3 diff --git a/nixos/secrets/personal.yaml b/nixos/secrets/personal.yaml index 8a60040..1e520ab 100644 --- a/nixos/secrets/personal.yaml +++ b/nixos/secrets/personal.yaml @@ -3,26 +3,22 @@ GitHub: Gitea: ssh: ENC[AES256_GCM,data:8eyuycMkBVMHfzaGeGs+0RA4vCpaAUTjCwiplUamypEk9BDYqxe+69O6OjJAGaPnmH4kpsb/WVd5sU6HNUogBuzDQhCrv2B6NadcmnV+fH3MHfAWvDy7R68PUkwcywWVOo65SONckjKVa0Y+8IeeJh9zpr36qCbbs+zPC4XTk+Y5R4vK/ocmSJSmwqVK1SfGGwOjFoJvHVI6jdXh//vgKaITqmyZV7N3OU9EiQp1FmNKwFf/x70w2LGATrNBcexwNy20ZYd6ewiAfJxFHR6Svfc2P5X2nlv99W5t1eU5QEGUcalcslsW/VkmFC3agN3Yry2EMIlfTlm0hm4+ryDGWEvgyUC0dLA8Ao0TLaaqig9HzBRP1h6aORe0lDwzTUg6WltrIu0s7hFwD4YLi1qP5lY99hvrDIRbTEg6AY6X4b32YFlyOXy0YDetv90+QyEcwANWO9MXz2S9hxuQmjOXMCVYMaiMLVUkG+mShbQuxTiFQt/7D83yOBSRLugx/aU318NKvUDlCt7wpZbMI3gBia4nUYLoLcXRKcAZ,iv:uc1ZtGdcolLrpQgS5n5LEAwBt0vMmkj2OuTXcn8sQ7A=,tag:F2ofcj0zEBgxwukMUd7+uw==,type:str] sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] age: - recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwSDRZQ0pVNWhmdFo1UDVv - MFlrZEFtNjlpZ3pBU0VrdkFpR2x4WGxUZ0RRClJad1JPYWhFTWd1N2ZKQWsrSjFj - YXREaGRrbE15MEdpblJtcTk2cFk1eGsKLS0tIHE2ZTd3R1gwQ3E1VzkvZTZoZjBW - aTRLcFJ6NkpJRjkyenVxeFRLVmgwMjQK47HRKyg1SxWABZHCdVdIaPEKoSiWIOO/ - OYu/1owbUwTh1KouUb4tgNmVBOkERJ9i3lEjWLHUWrlCAUImc9dG4g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVDZtU2g4dmFXTlNIMFBs - OFBpS2RXRzFwTVdJazQrSldwWUFtdCs0U1ZFCmxRdy9yY3VIWU4zenc4eVNEVUZv - VUlyT29JekNTS3RIMktmS2RGNU5GMTgKLS0tIEhvM2RkcUs0SE5uSXFxc3dvSXhP - WmViM05IMHFPckNic1hHY2ZlTEMrYkkK+66rYqbGQucqQch4Tx9jONR9OIXdjMUd - q/fGLCoSluHuCOkUWr/wUgvF5dWAHftYj9JjDB/9vpp4Q0WClLDszw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k + SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz + ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6 + aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A + dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== -----END AGE ENCRYPTED FILE----- lastmodified: "2024-10-19T12:24:38Z" mac: ENC[AES256_GCM,data:g15gV0H0rlzoeN5Z/Zkgh/8ya9GSrWDVP9oqdVz3m4obmquCLDIygsPaYpRXmfOtPSgvX2KzZ08sNLfcBZSh7eH2Ws7xcezWOntOcmAQNz5LvemqP7YuwtivMK/P4qrkME+LQPkSrSUR+rT99Zj+RQXisy91Cq9NbVBj6uQH7+I=,iv:W+oDp5Dun0g35BFprOmgfI0LoPME3HpPuuniCKA32Kc=,tag:CUU74HZuRNedyI3txn9D+g==,type:str] + pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1 diff --git a/nixos/secrets/secrets.yaml b/nixos/secrets/secrets.yaml index b5bf68e..6c8e2ac 100644 --- a/nixos/secrets/secrets.yaml +++ b/nixos/secrets/secrets.yaml @@ -9,26 +9,22 @@ example_booleans: - ENC[AES256_GCM,data:Ul7fKA==,iv:U51FhTsWwkbhUWGsO8D+bl2mLdTIfapIB+OGJEOAiRA=,tag:9NJLKp8s2TSKLyXwM8OncA==,type:bool] - ENC[AES256_GCM,data:LVU1a90=,iv:1X1qV+8iIe1i5hIrqyB3tJew9hsHjJHlATmkEmwRA0Y=,tag:ko/5OwmJH/6HKPsvbkoRpw==,type:bool] sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] age: - recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4KzMrV2dpWFQyQUQyV050 - elVhN0dUeTRodG1kNHZ0VEVmTUI1QjhidFJnClhJU0tVY0tmMkFaMDZkMDJOKzV1 - NVJiSERtR0VZR3VBOGVJbGk3cUxTMzAKLS0tIGhvMmIyOWQwVlhXRzYwampTeG5V - UDVWQnE4NDY5cFF3RnpxcjhMY2N0VUUK+B24C0CT5b82DJSdKotX4iPhzWxnYsn6 - kS7Ut9uy5OwcB+p6erlbLMEUVmmSNw89KBrowT0Ui1d3AfyGAN4rqQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwTjh4NDRYZGM1VHRZWGor - MmhFWDNvMjI4UUVPbnorNnpabGNZY1BuMVdrCisvZ0U5SXRPM3IzNlZvZEpWZktz - b2FJemtNVHU0WUI4M0U1L2tWR3g1MEUKLS0tIGczTmVubzcwVjg5NDdQdEllWEFw - TWRIRE5WSGRCbncvWlpEMmdWOW5kb00Kq79O2C4aYmZmrq+rbyMtwmEqkqL9epn/ - pw2dxXmYt95qu3x/BxjoN8RFZhabFp9xHkZ1kqJe9FGmBtAmoWXjWA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3ekx1bzluY0ZhYmhnRmhW + b3pzM2RlKzFrREpMK3RNU1MweldNRXJ5NjE4CmNRbnFvbk1EN0V0ZWJiVzFmL3Jt + N1Vpb3NEdXFzdzU4MjN1elp1RWZ5THcKLS0tIDR4cTFJNVFveEdxaEYvZndKbURa + UHpaNENhL3c1K3RXc05hUmdNZVBpT2MKwBj4+Gb7giVJIoPWiwY3tvugEAexXy6Q + YTWgZQZk96r5aF2mBjRCFCc7prj85PsUN/UXOPjPLVAFG3lwS0Eaog== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-09-10T20:20:18Z" mac: ENC[AES256_GCM,data:yfmYEo8pdlG3tu4Fabwde57igIvpt4UuhQqStVlV36rvPnv9dc42+6iduu+heuQ2OAVw0jk6/o6SWJpcms2DReOAMGDOgt+zV3TgJym52YdMcjTNJTo+4loULhvaWyN9ZdPJjSYKEoSgOZi+oMx4BpwreQEaPaYUxcbTqrWCUa8=,iv:Mb81sBxibRxSaC2kgakhy2pyEmW0MDobF+lHF7cny5E=,tag:DCqTWSnf5Gv5YfAGSEC2yw==,type:str] + pgp: [] unencrypted_suffix: _unencrypted version: 3.7.3 diff --git a/nixos/users/tdpeuter/default.nix b/nixos/users/tdpeuter/default.nix index 353a1d4..6c1fcf3 100644 --- a/nixos/users/tdpeuter/default.nix +++ b/nixos/users/tdpeuter/default.nix @@ -1,4 +1,4 @@ -{ config, inputs, lib, pkgs, pkgs-unstable, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: let cfg = config.sisyphus.users.tdpeuter; @@ -8,7 +8,7 @@ let cursor = { package = pkgs.phinger-cursors; - name = "phinger-cursors-light"; + name = "phinger-cursors"; size = 24; }; in { @@ -33,61 +33,16 @@ in { ]; initialPassword = "ChangeMe"; shell = pkgs.zsh; - - packages = (with pkgs; [ - bitwarden-desktop - brave # Internet browser - chafa # Terminal image viewer - cmdtime # Zsh plugin - duf # Df alternative - feishin # Jellyfin music client - foot - fzf - gh # GitHub CLI tool - glow # Terminal Markdown renderer - icosystem # Personal icon theme - jellyfin-media-player - libreoffice-fresh # Office tools - librewolf # Internet browser - mpv # Media player - nextcloud-client - nsxiv # Lightweight image viewer - qalculate-gtk # Calculator - spotify - spotify-adblock - unzip - vifm # File manager - zathura # PDF viewer - zellij # Tmux + screen alternative - zotero - zsh - zsh-autosuggestions - zsh-syntax-highlighting - - # SMB - cifs-utils - psmisc - - # Linters and LSPs - statix # Nix - # TODO Move to devshells - # ruff pylint # Python - ]) ++ (with pkgs-unstable; [ - logseq # Note taking - ]) ++ [ - inputs.zen-browser.packages.${pkgs.system}.default - ]; }; fonts.packages = with pkgs; [ corefonts # Calibri for Uni - dejavu_fonts font-awesome # Dependency of Vifm & zsh config letter # Personal font - noto-fonts # Dependency of Zellij config noto-fonts-cjk-sans # Dependency of Zellij config noto-fonts-cjk-serif # Dependency of Zellij config - noto-fonts-emoji + noto-fonts # Dependency of Zellij config + noto-fonts-emoji # Dependency of Zellij config noto-fonts-color-emoji # Emoji's! vistafonts # Microsoft fonts ]; @@ -105,13 +60,49 @@ in { homeDirectory = "/home/${user}"; inherit (config.system) stateVersion; - # packages = (with pkgs; [ - # ]) ++ (with pkgs-unstable; [ - # ]); + packages = (with pkgs; [ + cmdtime # Zsh plugin + icosystem # Personal icon theme + nextcloud-client + spotify-adblock + ]) ++ (with pkgs-unstable; [ + brave + chafa # Terminal image viewer + duf # Df alternative + feishin # Jellyfin music client + foot + fzf + glow # Terminal Markdown renderer + jellyfin-media-player + libreoffice-fresh # Office tools + # FIXME Waiting for electron version to update, now insecure. + # logseq # Note taking + mpv # Media player + nsxiv # Lightweight image viewer + qalculate-gtk # Calculator + spotify + unzip + vifm # File manager + zathura # PDF viewer + zellij # Tmux + screen alternative + zsh + zsh-autosuggestions + zsh-syntax-highlighting + + # SMB + cifs-utils + psmisc + + # Linters and LSPs + statix # Nix + # TODO Move to devshells + # ruff pylint # Python + ]); pointerCursor = { inherit (cursor) package name size; gtk.enable = true; + x11.enable = true; }; }; @@ -142,12 +133,9 @@ in { }; }; - services.syncthing = { + gtk = { enable = true; - extraOptions = [ - "--no-default-folder" - ]; - tray.enable = true; + cursorTheme = cursor; }; xdg = { diff --git a/nixos/users/tdpeuter/dotfiles.nix b/nixos/users/tdpeuter/dotfiles.nix index aca5ba8..9766b08 100644 --- a/nixos/users/tdpeuter/dotfiles.nix +++ b/nixos/users/tdpeuter/dotfiles.nix @@ -17,7 +17,7 @@ in { source = ../../../stow/alacritty/.config/alacritty; }; ".config/dunst" = { - enable = config.sisyphus.desktop.hyprland.enable || config.sisyphus.desktop.sway.enable; + inherit (config.sisyphus.desktop.sway) enable; source = ../../../stow/dunst/.config/dunst; }; ".config/foot" = { @@ -32,11 +32,6 @@ in { recursive = true; source = ../../../stow/git/.config/git; }; - ".config/hypr" = { - inherit (config.sisyphus.desktop.hyprland) enable; - recursive = true; - source = ../../../stow/hyprland/.config/hypr; - }; ".config/kitty" = { enable = false; recursive = true; @@ -63,7 +58,7 @@ in { source = ../../../stow/swayidle/.config/swayidle; }; ".config/swaylock" = { - enable = config.sisyphus.desktop.sway.enable || config.sisyphus.desktop.hyprland.enable; + inherit (config.sisyphus.desktop.sway) enable; source = ../../../stow/swaylock/.config/swaylock; }; ".config/vifm" = { @@ -71,20 +66,20 @@ in { source = ../../../stow/vifm/.config/vifm; }; ".config/waybar" = { - enable = config.sisyphus.desktop.sway.enable || config.sisyphus.desktop.hyprland.enable; + inherit (config.sisyphus.desktop.sway) enable; source = ../../../stow/waybar/.config/waybar; }; ".config/zellij" = { source = ../../../stow/zellij/.config/zellij; }; - ".gnupg" = { - inherit (config.programs.gnupg.agent) enable; - source = ../../../stow/gnupg/.gnupg; + ".oh-my-zsh" = { + enable = config.users.users.tdpeuter.shell == pkgs.zsh; + source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; recursive = true; - onChange = '' - chmod 700 /home/tdpeuter/.gnupg - # chmod 600 /home/tdpeuter/.gnupg/* # Already read-only? - ''; + }; + ".oh-my-zsh/themes/tdpeuter.zsh-theme" = { + enable = config.users.users.tdpeuter.shell == pkgs.zsh; + source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; }; ".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable { inherit (config.sisyphus.programs.ssh) enable; @@ -102,13 +97,6 @@ in { }; } (lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) { - ".oh-my-zsh" = { - source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; - recursive = true; - }; - ".oh-my-zsh/themes/tdpeuter.zsh-theme" = { - source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; - }; ".zshrc" = { source = ../../../stow/zsh/.zshrc; }; diff --git a/nixos/users/tdpeuter/firefox.nix b/nixos/users/tdpeuter/firefox.nix index 5bb0b46..1ff9e4c 100644 --- a/nixos/users/tdpeuter/firefox.nix +++ b/nixos/users/tdpeuter/firefox.nix @@ -14,38 +14,11 @@ in { nativeMessagingHosts = with pkgs; [ tridactyl-native ]; - # https://mozilla.github.io/policy-templates/ extraPolicies = { DisableFirefoxStudies = true; DisablePocket = true; DisableTelemetry = true; - FirefoxHome = { - SponsoredTopSites = false; - SponsoredPocket = false; - }; OfferToSaveLogins = false; - - # https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265 - ExtensionSettings = { - "amazon@search.mozilla.org".installation_mode = "blocked"; - "google@search.mozilla.org".installation_mode = "blocked"; - }; - - # Anything in about:config - Preferences = let - falseLocked = { - Value = false; - Status = "falseLocked"; - }; - in { - "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = falseLocked; - "browser.newtabpage.activity-stream.showSponsoredTopSites" = falseLocked; - "browser.newtabpage.pinned" = { - Value = "[]"; - Status = "default"; - }; - "services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.showSponsoredTopSites" = falseLocked; - }; }; # Support smart cards @@ -54,30 +27,14 @@ in { ]; }; - languagePacks = [ - "en-GB" - "nl" - ]; - profiles.tdpeuter.search= { - default = "ddg"; # Reference by id instead of by name + default = "DuckDuckGo"; force = true; engines = { - "bing".metaData.hidden = true; - "ebay".metaData.hidden = true; + "Bing".metaData.hidden = true; + "eBay".metaData.hidden = true; + "Qwant".metaData.hidden = true; - "GitHub" = { - urls = [{ - template = "https://github.com/search"; - params = [ - { name = "q"; value = "{searchTerms}"; } - { name = "type"; value = "repositories"; } - ]; - }]; - - icon = "${pkgs.icosystem}/share/icons/icosystem/scalable/apps/github-mark.svg"; - definedAliases = [ "@gh" ]; - }; "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; @@ -101,15 +58,17 @@ in { icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@no" ]; }; - "Google Scholar" = { + "GitHub" = { urls = [{ - template = "https://scholar.google.ch/scholar"; + template = "https://github.com/search"; params = [ { name = "q"; value = "{searchTerms}"; } + { name = "type"; value = "repositories"; } ]; }]; - definedAliases = [ "@gs" ]; + icon = "${pkgs.icosystem}/share/icons/icosystem/scalable/apps/github-mark.svg"; + definedAliases = [ "@gh" ]; }; }; }; diff --git a/nixos/users/tdpeuter/mail.nix b/nixos/users/tdpeuter/mail.nix index 2e05b4b..d6b4928 100644 --- a/nixos/users/tdpeuter/mail.nix +++ b/nixos/users/tdpeuter/mail.nix @@ -8,17 +8,13 @@ let Met vriendelijke groeten Tibo De Peuter ''; - english = '' - Kind regards - Tibo De Peuter - ''; - academic = '' + UGent = '' Met vriendelijke groeten Tibo De Peuter - Student Ma Informatica + Student 2Ba/3Ba Informatica ''; - alias = '' + MrFortem = '' Kind regards MrFortem Fiducia ''; @@ -65,7 +61,7 @@ in { realName = config.users.users.tdpeuter.description; signature = { showSignature = "append"; - text = signatures.academic; + text = signatures.UGent; }; thunderbird = { @@ -73,7 +69,7 @@ in { settings = id: { "mail.server.server_${id}.authMethod" = 10; "mail.smtpserver.smtp_${id}.authMethod" = 10; - "mail.identity.id_${id}.htmlSigText" = signatures.academic; + "mail.identity.id_${id}.htmlSigText" = signatures.UGent; # Allow PGP "mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key @@ -113,7 +109,7 @@ in { settings = id: { "mail.server.server_${id}.directory" = ".thunderbird/tdpeuter/ImapMail/imap.gmail.com-mrfortem"; "mail.server.server_${id}.directory-rel" = "[ProfD]ImapMail/imap.gmail.com-mrfortem"; - "mail.identity.id_${id}.htmlSigText" = signatures.alias; + "mail.identity.id_${id}.htmlSigText" = signatures.MrFortem; }; }; }; diff --git a/nixos/users/tdpeuter/secrets.nix b/nixos/users/tdpeuter/secrets.nix index fd1a363..75939f3 100644 --- a/nixos/users/tdpeuter/secrets.nix +++ b/nixos/users/tdpeuter/secrets.nix @@ -32,17 +32,8 @@ in { "UGent/SubGit/ssh" = UGent; # HomeLab - - # Physical hosts "HomeLab/Hugo/ssh" = HomeLab; - "HomeLab/Roxanne/ghost/ssh" = HomeLab; - "HomeLab/HTPC/ssh" = HomeLab; - - # Virtual hosts - "HomeLab/Gitea/ssh" = HomeLab; "HomeLab/Nextcloud/ssh" = HomeLab; - "HomeLab/Vaultwarden/ssh" = HomeLab; - "HomeLab/NixOS/admin/ssh" = HomeLab; }); }; } diff --git a/scripts/do-not-disturb.sh b/scripts/do-not-disturb.sh new file mode 100755 index 0000000..c9c5f21 --- /dev/null +++ b/scripts/do-not-disturb.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Script to toggle Do not disturb mode for dunst + +# Get current state +if [ "$( command -v dunstctl )" ]; then + current_state="$( dunstctl is-paused )" +fi + +# Toggle +if [ "${current_state}" == "false" ] ; then + notify-send 'Hiding notifications' + sleep 5 + # makoctl set-mode do-not-disturb + dunstctl set-paused true +else + # makoctl set-mode default + dunstctl set-paused false + notify-send 'Showing notifications' +fi diff --git a/scripts/sunset.sh b/scripts/sunset.sh new file mode 100755 index 0000000..f185115 --- /dev/null +++ b/scripts/sunset.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# Script to disable for an hour or immediately continue wlsunset. 'Toggle' + +# Check if wlsunset is still running +pid=$(pgrep wlsunset) + +if [[ -z ${pid} ]] ; then + # Start wlsunset right away. + wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 & +else + # Currently stop wlsunset but restart in an hour. + kill ${pid} + notify-send 'Stopping sunset' 'Restarting in an hour' + at now +1 hours -f "${0}" +fi diff --git a/scripts/toggle-light-dark.sh b/scripts/toggle-light-dark.sh index c4667bf..80e4d0d 100755 --- a/scripts/toggle-light-dark.sh +++ b/scripts/toggle-light-dark.sh @@ -30,6 +30,10 @@ declare -A wallpaper wallpaper[${THEME_LIGHT}]="bg-light" wallpaper[${THEME_DARK}]="bg-dark" +declare -A icon +icon[${THEME_LIGHT}]="\uf185" +icon[${THEME_DARK}]="\uf186" + ############# ### Logic ### ############# @@ -54,8 +58,8 @@ while getopts ":m:g" option; do class='activated' percentage=100 fi - printf '{"alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \ - "${gsettings_alt[${current_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}" + printf '{"text": "%s", "alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \ + "${icon[${current_state}]}" "${gsettings_alt[${next_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}" exit 0 ;; *) diff --git a/scripts/toggle-nightlight.sh b/scripts/toggle-nightlight.sh deleted file mode 100755 index b4902b0..0000000 --- a/scripts/toggle-nightlight.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -# Script to disable for an hour or immediately continue wlsunset. 'Toggle' - -# Queue for at, check man page for options -ATQUEUE='T' - -# Get current state -pid=$(pgrep wlsunset) - -while getopts ":g" option; do - case "${option}" in - g) - if [[ -z "${pid}" ]]; then - state='active' - tooltip='Turn off nightlight' - class='activated' - else - state='inactive' - tooltip='Turn on nightlight' - class='none' - fi -printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \ - "${state}" "${tooltip}" "${class}" - exit 0 - ;; - *) - echo 'Invalid option' - exit 1 - ;; - esac -done - -# Toggle -if [[ -z ${pid} ]] ; then - # Clear queue - for job in $(at -l -q "${ATQUEUE}" | cut -f1); do - at -r "${job}" - done - - if [ "$( command -v wlsunset )" ]; then - notify-send 'Starting nightlight' - wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 & - else - notify-send 'Nightlight is not available' - exit 1 - fi -else - # Currently stop wlsunset but restart in an hour. - kill ${pid} - notify-send 'Stopping nightlight' 'Restarting in an hour' - at now +1 hours -f "${0}" -q "${ATQUEUE}" -fi diff --git a/scripts/toggle-notifications.sh b/scripts/toggle-notifications.sh deleted file mode 100755 index fe5624a..0000000 --- a/scripts/toggle-notifications.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -# Script to toggle Do not disturb mode for dunst - -# Get current state -if [ "$( command -v dunstctl )" ]; then - current_state="$( dunstctl is-paused )" -fi - -while getopts ":g" option; do - case "${option}" in - g) - if [ "${current_state}" == "false" ]; then - state='normal' - tooltip='Hide notifications' - class='none' - else - state='paused' - tooltip='Show notifications' - class='activated' - fi - printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \ - "${state}" "${tooltip}" "${class}" - exit 0 - ;; - esac -done - -# Toggle -if [ "${current_state}" == "false" ] ; then - notify-send 'Hiding notifications' - sleep 5 - - if [ "$(command -v makoctl)" ]; then - makoctl set-mode do-not-disturb - fi - if [ "$(command -v dunstctl)" ]; then - dunstctl set-paused true - fi -else - if [ "$(command -v makoctl)" ]; then - makoctl set-mode default - fi - if [ "$(command -v dunstctl)" ]; then - dunstctl set-paused false - fi - - notify-send 'Showing notifications' -fi diff --git a/scripts/toggle-tailscale.sh b/scripts/toggle-tailscale.sh deleted file mode 100755 index 6f79489..0000000 --- a/scripts/toggle-tailscale.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash -# Script to toggle Do not disturb mode for dunst - -STOPPED_MSG='Tailscale is stopped' - -# Check if tailscale is installed -if [ ! "$( command -v tailscale )" ]; then - echo 'Tailscale is not installed!' - exit 1 -fi - -# Get current state -status="$( tailscale status )" -current_state="$( grep -o "${STOPPED_MSG}" <<< "${status}" )" - -while getopts ":g" option; do - case "${option}" in - g) - if [ "${current_state}" == "${STOPPED_MSG}" ]; then - state='disconnected' - tooltip='Connect tailnet' - - printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \ - "${state}" "${tooltip}" "${state}" - else - state='connected' - tooltip="${status:='Disconnect tailnet'}" - - printf '{"alt": "%s", "tooltip": "%q", "class": "%s" }' \ - "${state}" "${tooltip}" "${state}" - fi - - exit 0 - ;; - - *) - echo 'Invalid option' - exit 1 - ;; - esac -done - -# Toggle -if [ "${current_state}" == "${STOPPED_MSG}" ] ; then - notify-send 'Connecting tailnet' - notify-send 'Connected tailnet' "$( tailscale up )" -else - notify-send 'Disconnecting tailnet' - notify-send 'Disconnected tailnet' "$( tailscale down )" -fi diff --git a/stow/foot/.config/foot/foot.ini b/stow/foot/.config/foot/foot.ini index efcd8d9..51fdc7e 100644 --- a/stow/foot/.config/foot/foot.ini +++ b/stow/foot/.config/foot/foot.ini @@ -29,7 +29,7 @@ dpi-aware=yes # initial-window-size-pixels=700x500 # Or, # initial-window-size-chars= # initial-window-mode=windowed -#pad=10x10 # optionally append 'center' +pad=10x10 # optionally append 'center' # resize-delay-ms=100 # notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} diff --git a/stow/gnupg/.gnupg/gpg-agent.conf b/stow/gnupg/.gnupg/gpg-agent.conf deleted file mode 100644 index a11a3bd..0000000 --- a/stow/gnupg/.gnupg/gpg-agent.conf +++ /dev/null @@ -1,5 +0,0 @@ -enable-ssh-support -default-cache-ttl 60 -default-cache-ttl-ssh 60 -max-cache-ttl 120 -max-cache-ttl-ssh 120 diff --git a/stow/gnupg/.gnupg/gpg.conf b/stow/gnupg/.gnupg/gpg.conf deleted file mode 100644 index bb37abf..0000000 --- a/stow/gnupg/.gnupg/gpg.conf +++ /dev/null @@ -1,37 +0,0 @@ -# Use UTF-8 character encoding everywhere. -display-charset utf-8 -utf8-strings - -# When verifying a signature made from a subkey, require that the -# cross-certification "back signature" on the subkey is present and valid. -require-cross-certification - -# Method references -personal-cipher-preferences AES256 AES192 AES -personal-digest-preferences SHA512 SHA384 SHA256 -personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed - -# New keys config -default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed -cert-digest-algo SHA512 - -# Symmatric ops -s2k-digest-algo SHA512 -s2k-cipher-algo AES256 -# Disable cahcing of passphrase for symmatrical ops -no-symkey-cache - -# Don't leak comments or software version information -no-comments -no-emit-version - -# Display full fingerprints -keyid-format 0xlong -with-fingerprint - -# Other display preferences -list-options show-uid-validity -verify-options show-uid-validity - -# Enable smart card -use-agent diff --git a/stow/gnupg/.gnupg/scdaemon.conf b/stow/gnupg/.gnupg/scdaemon.conf deleted file mode 100644 index 9f0e146..0000000 --- a/stow/gnupg/.gnupg/scdaemon.conf +++ /dev/null @@ -1,7 +0,0 @@ -# Power down and ask PIN again after timout. -card-timeout 180 # 3 minutes - -# Fix repeatedly prompting for an already-inserted YubiKey. -# It works by disabling CCID-support, so it does not clash with pcsc. -disable-ccid - diff --git a/stow/hyprland/.config/hypr/docked.conf b/stow/hyprland/.config/hypr/docked.conf deleted file mode 100644 index ea4034f..0000000 --- a/stow/hyprland/.config/hypr/docked.conf +++ /dev/null @@ -1,6 +0,0 @@ -monitor=desc:BOE 0x08CF,1920x1080@60.0,640x3240,1.0 -monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,2560x1440@59.95,0x1800,1.0 -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,1920x1080@60.0,2560x1800,1.0 -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,transform,1 -monitor=desc:Samsung Electric Company SAMSUNG,1920x1080@60.0,640x0,0.6000000000000001 -monitor=desc:Samsung Electric Company SAMSUNG,disable diff --git a/stow/hyprland/.config/hypr/hy3.conf b/stow/hyprland/.config/hypr/hy3.conf deleted file mode 100644 index ef08fda..0000000 --- a/stow/hyprland/.config/hypr/hy3.conf +++ /dev/null @@ -1,165 +0,0 @@ - -# TODO Do not hardcode this path -#plugin = /nix/store/afivj8v5kfdsadxs4pa45vh0y65s3ajm-hy3-hl0.49.0/lib/libhy3.so -plugin = /nix/store/fvy4gwas10pvww67gxc3da08kn2w3pm7-hy3-0.51.0/lib/libhy3.so - -general:layout = hy3 - -plugin { - hy3 { - # disable gaps when only one window is onscreen - # 0 - always show gaps - # 1 - hide gaps with a single window onscreen - # 2 - 1 but also show the window border - no_gaps_when_only = 1 # default: 0 - - # policy controlling what happens when a node is removed from a group, - # leaving only a group - # 0 = remove the nested group - # 1 = keep the nested group - # 2 = keep the nested group only if its parent is a tab group - node_collapse_policy = 2 # default: 2 - - # offset from group split direction when only one window is in a group - group_inset = 10 # default: 10 - - # if a tab group will automatically be created for the first window spawned in a workspace - tab_first_window = false - - # tab group settings - tabs { - # height of the tab bar - height = 10 # default: 22 - - # padding between the tab bar and its focused node - padding = 0 # default: 6 - - # the tab bar should animate in/out from the top instead of below the window - from_top = false # default: false - - # radius of tab bar corners - radius = 0 # default: 6 - - # tab bar border width - border_width = 2 # default: 2 - - # render the window title on the bar - render_text = false # default: true - - # center the window title - text_center = true # default: true - - # font to render the window title with - text_font = Sans # default: Sans - - # height of the window title - text_height = 8 # default: 8 - - # left padding of the window title - text_padding = 3 # default: 3 - - # active tab bar segment colors - #col.active = # default: rgba(33ccff40) - #col.active.border = # default: rgba(33ccffee) - #col.active.text = # default: rgba(ffffffff) - - # active tab bar segment colors for bars on an unfocused monitor - #col.active_alt_monitor = # default: rgba(60606040) - #col.active_alt_monitor.border = # default: rgba(808080ee) - #col.active_alt_monitor.text = # default: rgba(ffffffff) - - # focused tab bar segment colors (focused node in unfocused container) - #col.focused = # default: rgba(60606040) - #col.focused.border = # default: rgba(808080ee) - #col.focused.text = # default: rgba(ffffffff) - - # inactive tab bar segment colors - col.inactive = rgba(a6a6a620) # default: rgba(30303020) - col.inactive.border = rgba(a6a6a6aa) # default: rgba(606060aa) - #col.inactive.text = # default: rgba(ffffffff) - - # urgent tab bar segment colors - #col.urgent = # default: rgba(ff223340) - #col.urgent.border = # default: rgba(ff2233ee) - #col.urgent.text = # default: rgba(ffffffff) - - # urgent tab bar segment colors - #col.locked = # default: rgba(90903340) - #col.locked.border = # default: rgba(909033ee) - #col.locked.text = # default: rgba(ffffffff) - - # if tab backgrounds should be blurred - # Blur is only visible when the above colors are not opaque. - blur = true # default: true - - # opacity multiplier for tabs - # Applies to blur as well as the given colors. - opacity = 1.0 # default: 1.0 - } - - # autotiling settings - autotile { - # enable autotile - enable = true # default: false - - # make autotile-created groups ephemeral - ephemeral_groups = true # default: true - - # if a window would be squished smaller than this width, a vertical split will be created - # -1 = never automatically split vertically - # 0 = always automatically split vertically - # = pixel width to split at - trigger_width = -1 # default: 0 - - # if a window would be squished smaller than this height, a horizontal split will be created - # -1 = never automatically split horizontally - # 0 = always automatically split horizontally - # = pixel height to split at - trigger_height = 0 # default: 0 - - # a space or comma separated list of workspace ids where autotile should be enabled - # it's possible to create an exception rule by prefixing the definition with "not:" - # workspaces = 1,2 # autotiling will only be enabled on workspaces 1 and 2 - # workspaces = not:1,2 # autotiling will be enabled on all workspaces except 1 and 2 - workspaces = all # default: all - } - } -} - -# Keybinds - -# Navigation - -# Focus - -# First, unbind default -unbind = $flag, $up -unbind = $flag, $right -unbind = $flag, $down -unbind = $flag, $left - -unbind = $flag, up -unbind = $flag, right -unbind = $flag, down -unbind = $flag, left - -bind = $flag, $up, hy3:movefocus, u -bind = $flag, $right, hy3:movefocus, r -bind = $flag, $down, hy3:movefocus, d -bind = $flag, $left, hy3:movefocus, l - -bind = $flag, up, hy3:movefocus, u -bind = $flag, right, hy3:movefocus, r -bind = $flag, down, hy3:movefocus, d -bind = $flag, left, hy3:movefocus, l - -# Layout -bind = $flag, z, hy3:changegroup, opposite -bind = $flag, x, hy3:changegroup, toggletab -bind = $flag, c, hy3:changegroup, h -bind = $flag, v, hy3:changegroup, v - -bind = $flag, p, hy3:changefocus, raise -bind = $flag+Shift, p, hy3:changefocus, lower -bind = $flag, space, hy3:togglefocuslayer - diff --git a/stow/hyprland/.config/hypr/hyprland.conf b/stow/hyprland/.config/hypr/hyprland.conf deleted file mode 100644 index 9907aca..0000000 --- a/stow/hyprland/.config/hypr/hyprland.conf +++ /dev/null @@ -1,278 +0,0 @@ -# ~/.config/hypr/hyperland.conf - -general { - border_size = 1 - no_border_on_floating = false - - gaps_in = 3 - gaps_out = 5 - gaps_workspaces = 0 - - col.inactive_border = 0xff444444 - col.active_border = 0xffffffff - col.nogroup_border = 0xffff00ff - - layout = dwindle - - no_focus_fallback = true - - resize_on_border = true - extend_border_grab_area = 5 - hover_icon_on_border = true - - allow_tearing = false - - resize_corner = 0 - - snap { - enabled = false - window_gap = 10 - monitor_gap = 10 - border_overlap = false - } -} - -decoration { - rounding = 0 - # rounding_power = 4.0 - - active_opacity = 1.0 - inactive_opacity = 1.0 - fullscreen_opacity = 1.0 - dim_inactive = false - dim_strength = 0.5 - dim_special = 0.2 - dim_around = 0.4 - - blur { - enabled = true - - size = 8 - passes = 1 - noise = 0.01 - contrast = 0.8 - brightness = 0.8 - vibrancy = 0.0 - vibrancy_darkness = 0.0 - - ignore_opacity = true - new_optimizations = true - xray = true - special = false - popups = false - # input_methods = false - } - - shadow { - enabled = false - - range = 4 - render_power = 3 - sharp = false - - ignore_window = true - - color = 0xee1a1a1a - color_inactive = 0xee1a1a1a - # offset = [0,0] - scale = 1.0 - } -} - -animations { - enabled = false - first_launch_animation = true -} - -gestures { - workspace_swipe_distance = 300 - workspace_swipe_invert = true - workspace_swipe_min_speed_to_force = 30 - workspace_swipe_cancel_ratio = 0.2 - workspace_swipe_direction_lock = true - workspace_swipe_direction_lock_threshold = 10 - - workspace_swipe_touch = false - workspace_swipe_touch_invert = false - - workspace_swipe_create_new = false - - workspace_swipe_forever = true - - workspace_swipe_use_r = false - - #close_max_timeout = 1000 -} - -group { - auto_group = true - insert_after_current = true - focus_removed_window = true - drag_into_group = 1 - merge_groups_on_drag = true - merge_groups_on_groupbar = true - merge_floated_into_tiled_on_groupbar = false - group_on_movetoworkspace = false - - col.border_active = 0x66ffff00 - col.border_inactive = 0x66777700 - col.border_locked_active = 0x66ff5500 - col.border_locked_inactive = 0x66775500 - - groupbar { - enabled = true - font_family = misc:font_family - font_size = 8 - gradients = true - height = 14 - stacked = false - priority = 3 - render_titles = false - scrolling = true - - text_color = 0xffffffff - - col.active = 0x66ffff00 - col.inactive = 0x66777700 - col.locked_active = 0x66ff5500 - col.locked_inactive = 0x66775500 - } -} - -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - - col.splash = 0xffffffff - - font_family = Letter - # splash_font_family = - force_default_wallpaper = -1 - vfr = true - vrr = 1 - mouse_move_enables_dpms = false - key_press_enables_dpms = true - always_follow_on_dnd = true - layers_hog_keyboard_focus = true - animate_manual_resizes = false - animate_mouse_windowdragging = false - disable_autoreload = true - enable_swallow = false - # swallow_regex = - # swallow_exception_regex = - focus_on_activate = true - mouse_move_focuses_monitor = true - render_ahead_of_time = false - render_ahead_safezone = 1 - allow_session_lock_restore = false - background_color = 0x018281 - close_special_on_empty = true - new_window_takes_over_fullscreen = 2 - exit_window_retains_fullscreen = false - initial_workspace_tracking = 1 - middle_click_paste = false - render_unfocused_fps = 12 - disable_xdg_env_checks = false - # disable_hyprland_qtutils_check = false - # lockdead_screen_delay = 1000 -} - -binds { - pass_mouse_when_bound = false - scroll_event_delay = 300 - workspace_back_and_forth = false - allow_workspace_cycles = false - workspace_center_on = 1 - focus_preferred_method = 0 - ignore_group_lock = false - # movefocus_cycles_fullscreen = true - # movefocus_cycles_groupfirst = false - disable_keybind_grabbing = false - window_direction_monitor_fallback = true - # allow_pin_fullscreen = true -} - -xwayland { - enabled = true - use_nearest_neighbor = true - force_zero_scaling = false -} - -opengl { - nvidia_anti_flicker = false -} - -render { - explicit_sync = 2 - explicit_sync_kms = 2 - direct_scanout = false - expand_undersized_textures = true - # xp_mode = false - # ctm_animation = 2 - # allow_early_buffer_release = true -} - -cursor { - sync_gsettings_theme = true - no_hardware_cursors = false - no_break_fs_vrr = false - min_refresh_rate = 24 - hotspot_padding = 1 - inactive_timeout = 10 - no_warps = false - persistent_warps = false - warp_on_change_workspace = 0 - # default_monitor = - zoom_factor = 1.0 - zoom_rigid = false - # enable_hypercursor = false - hide_on_key_press = true - hide_on_touch = true - # use_cpu_buffer = 2 - # warp_back_after_non_mouse_input = false -} - -ecosystem { - # no_update_news = false - # no_donation_nag = true -} - -exec-once = gnome-keyring-daemon --start --components=secrets -exec-once = dunst --verbosity crit -exec-once = waycorner -exec-once = waybar - -# TODO Replace with something else? -exec-once = wlsunset -t 2500 -l 50.51 -L 4.21 - -exec-once = nextcloud --background - -# Turn volume off at boot -exec-once = bash -c 'for i in $(seq 1 10); do pactl set-sink-mute @DEFAULT_SINK@ 1 && break; sleep 1; done' - -# STYLING -exec-once = swaybg -i "${HOME}/.local/state/sisyphus/bg" --mode=fill -env = XCURSOR_SIZE,24 - -# SHIFT CAPS CTRL/CONTROL ALT MOD2 MOD3 SUPER/WIN/LOGO/MOD4 MOD5 -$flag = MOD4 - -$left = h -$down = j -$up = k -$right = l - -$term = foot -$menu = j4-dmenu-desktop --dmenu="rofi -dmenu -i" --no-generic --usage-log="/home/tdpeuter/.local/state/dmenu.log" --term=$term -$lock = swaylock --daemonize - -# https://wiki.hyprland.org/Nvidia/#environment-variables -env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = LIBVA_DRIVER_NAME,nvidia -env = NVD_BACKEND,direct - -source = /home/tdpeuter/.config/hypr/input-output.conf -source = /home/tdpeuter/.config/hypr/keybinds.conf -source = /home/tdpeuter/.config/hypr/modes.conf -source = /home/tdpeuter/.config/hypr/hy3.conf # Sway tiling plugin - diff --git a/stow/hyprland/.config/hypr/input-output.conf b/stow/hyprland/.config/hypr/input-output.conf deleted file mode 100644 index 3c04c15..0000000 --- a/stow/hyprland/.config/hypr/input-output.conf +++ /dev/null @@ -1,62 +0,0 @@ -# ~/.config/hypr/input-output.conf - -input { - kb_layout = us,be,us - kb_variant = altgr-intl,iso-alternate,dvorak - - numlock_by_default = true - resolve_binds_by_sym = false - - repeat_rate = 25 - repeat_delay = 600 - - sensitivity = 0.0 - accel_profile = flat - force_no_accel = false - - left_handed = false - scroll_method = 2fg - scroll_button_lock = true - scroll_factor = 1.0 - natural_scroll = false - - follow_mouse = 2 - focus_on_close = 0 - mouse_refocus = true - float_switch_override_focus = 1 - special_fallthrough = false - off_window_axis_events = 1 - emulate_discrete_scroll = 1 - - touchpad { - disable_while_typing = true - natural_scroll = true - scroll_factor = 0.8 - middle_button_emulation = false - tap_button_map = lrm - clickfinger_behavior = false - tap-to-click = true - drag_lock = false - tap-and-drag = true - } -} - -device { - name = at-translated-set-2-keyboard - numlock_by_default = false -} - -monitor = , preferred, auto, 1 - -monitor = desc:BOE 0x08CF, preferred, 640x1440, 1 -monitor = desc:Hewlett Packard HP ZR2740w CNT319Y008, preferred, auto-up, 1 -# Vertical monitors -monitor = desc:Dell Inc. DELL P2214H 29C2937M4YTL, preferred, auto-right, 1, transform, 1 -monitor = desc:Samsung Electric Company S22C650, preferred, auto-right, 1, transform, 1 - -# TV -monitor = desc:Samsung Electric Company SAMSUNG, disable - -bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "eDP-1, disable" -bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, enable" - diff --git a/stow/hyprland/.config/hypr/keybinds.conf b/stow/hyprland/.config/hypr/keybinds.conf deleted file mode 100644 index 1a4f1e1..0000000 --- a/stow/hyprland/.config/hypr/keybinds.conf +++ /dev/null @@ -1,180 +0,0 @@ -$notify = "${SCRIPT_DIR}/notify.sh" - -# Navigation - -# Focus -bind = $flag, $up, movefocus, u -bind = $flag, $right, movefocus, r -bind = $flag, $down, movefocus, d -bind = $flag, $left, movefocus, l - -bind = $flag, up, movefocus, u -bind = $flag, right, movefocus, r -bind = $flag, down, movefocus, d -bind = $flag, left, movefocus, l - -# Move windows -bind = $flag+Shift, $up, movewindow, u -bind = $flag+Shift, $right, movewindow, r -bind = $flag+Shift, $down, movewindow, d -bind = $flag+Shift, $left, movewindow, l - -bind = $flag+Shift, up, movewindow, u -bind = $flag+Shift, right, movewindow, r -bind = $flag+Shift, down, movewindow, d -bind = $flag+Shift, left, movewindow, l - -# $flag+Next move scratchpad -# $flag+KP_Next move scratchpad -# $flag+Prior scratchpad show -# $flag+KP_Prior scratchpad show -bind = $flag, Next, movetoworkspace, special:scratchpad -bind = $flag, KP_Next, movetoworkspace, special:scratchpad - -bind = $flag, Prior, togglespecialworkspace, special:scratchpad -bind = $flag, Prior, movetoworkspace, special:scratchpad -bind = $flag, Prior, togglespecialworkspace, special:scratchpad - -# bind = $flag, Next, movetoworkspace, special:magic -# bind = $flag, Next, togglespecialworkspace, magic - -# bind = $flag, KP_Next, togglespecialworkspace, magic -# bind = $flag, KP_Next, movetoworkspace, +0 -# bind = $flag, KP_Next, togglespecialworkspace, magic -# bind = $flag, KP_Next, movetoworkspace, special:magic -# bind = $flag, KP_Next, togglespecialworkspace, magic - -# Layouts -bind = $flag, f, togglefloating -bind = $flag+Shift, f, settiled - -bind = $flag, s, pin -bind = $flag, s, setfloating -bind = $flag+Shift, s, pin -bind = $flag+Shift, s, settiled - -bind = $flag, F11, fullscreen, 1 -bind = $flag+Shift, F11, fullscreen, 0 - -# Workspaces - -$ws1 = 1 -$ws2 = 2 -$ws3 = 3 -$ws4 = 4 -$ws5 = 5 -$ws6 = 6 -$ws7 = 7 -$ws8 = 8 -$ws9 = 9 -$ws10 = 10 -$ws11 = 11 -$ws12 = 12 - -# Focus a specific workspace -bind = $flag, 1, workspace, $ws1 -bind = $flag, 2, workspace, $ws2 -bind = $flag, 3, workspace, $ws3 -bind = $flag, 4, workspace, $ws4 -bind = $flag, 5, workspace, $ws5 -bind = $flag, 6, workspace, $ws6 -bind = $flag, 7, workspace, $ws7 -bind = $flag, 8, workspace, $ws8 -bind = $flag, 9, workspace, $ws9 -bind = $flag, 0, workspace, $ws10 -bind = $flag, minus, workspace, $ws11 -bind = $flag, equal, workspace, $ws12 - -# Move window to a specific workspace -bind = $flag+Shift, 1, movetoworkspace, $ws1 -bind = $flag+Shift, 2, movetoworkspace, $ws2 -bind = $flag+Shift, 3, movetoworkspace, $ws3 -bind = $flag+Shift, 4, movetoworkspace, $ws4 -bind = $flag+Shift, 5, movetoworkspace, $ws5 -bind = $flag+Shift, 6, movetoworkspace, $ws6 -bind = $flag+Shift, 7, movetoworkspace, $ws7 -bind = $flag+Shift, 8, movetoworkspace, $ws8 -bind = $flag+Shift, 9, movetoworkspace, $ws9 -bind = $flag+Shift, 0, movetoworkspace, $ws10 -bind = $flag+Shift, Minus, movetoworkspace, $ws11 -bind = $flag+Shift, Equal, movetoworkspace, $ws12 - -# Go through workspaces in order -bind = $flag+Ctrl, $left, workspace, e-1 -bind = $flag+Ctrl, $right, workspace, e+1 - -bind = $flag+Ctrl, left, workspace, e-1 -bind = $flag+Ctrl, right, workspace, e+1 - -bind = $flag+Ctrl+Shift, $left, movetoworkspace, e-1 -bind = $flag+Ctrl+Shift, $right, movetoworkspace, e+1 - -bind = $flag+Ctrl+Shift, left, movetoworkspace, e-1 -bind = $flag+Ctrl+Shift, right, movetoworkspace, e+1 - -# GNOME-like keybinds -bind = $flag+Alt, $left, workspace, e-1 -bind = $flag+Alt, $right, workspace, e+1 - -bind = $flag+Alt, left, workspace, e-1 -bind = $flag+Alt, right, workspace, e+1 - -bind = $flag+Alt+Shift, $left, movetoworkspace, e-1 -bind = $flag+Alt+Shift, $right, movetoworkspace, e+1 - -bind = $flag+Alt+Shift, left, movetoworkspace, e-1 -bind = $flag+Alt+Shift, right, movetoworkspace, e+1 - -# System - -# Brightness -bind = , XF86MonBrightnessDown, exec, brightnessctl -e s 5%- && $notify -b -bind = , XF86MonBrightnessUp, exec, brightnessctl -e s +5% && $notify -b - -# Audio -bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 2%+ && $notify -v -bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && $notify -v -bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && $notify -v -bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle - -# Media -bind = , XF86AudioPlay, exec, playerctl play-pause -bind = , XF86AudioPrev, exec, playerctl previous -bind = , XF86AudioNext, exec, playerctl next - -bind = Shift, XF86AudioMute, exec, playerctl play-pause -bind = Shift, XF86AudioLowerVolume, exec, playerctl previous -bind = Shift, XF86AudioRaiseVolume, exec, playerctl next - -# Other special keys -bind = , XF86Calculator, exec, qalculate-gtk - -# Shortcuts - -# Reload -bind = Alt+Shift, r, exec, "hyperctl reload" -bind = Ctrl+Alt+Shift, r, forcerendererreload -bind = Alt+Shift, e, exit - -# Kill a window -bind = $flag, q, closewindow, activewindow - -# Start a terminal -bind = $flag, Return, exec, $term -bind = CTRL&ALT, T, exec, $term -# Application menu -bind = Alt, Space, exec, $menu -bind = Alt, Tab, focuscurrentorlast - -bind = $flag, e, exec, $term -e vifm -bind = Ctrl+Shift, Escape, exec, $term -e zenith - -bind = Ctrl+Shift, a, exec, notify-send "hole!" && hyprctl setcursor _ 87 && sleep 5 && hyprctl setcursor _ 24 - -# bind = $flag, mouse_up, movefocus, l -bind = SUPER, mouse_down, workspace, e-1 -bind = SUPER, mouse_up, workspace, e+1 -# bind = $flag, mouse_down, movefocus, r - -bind = $flag, Delete, exec, $lock - diff --git a/stow/hyprland/.config/hypr/modes.conf b/stow/hyprland/.config/hypr/modes.conf deleted file mode 100644 index 81d90af..0000000 --- a/stow/hyprland/.config/hypr/modes.conf +++ /dev/null @@ -1,100 +0,0 @@ -# Resizing -$mode_resize = Resize -bind = $flag, R, submap, $mode_resize -submap = $mode_resize - -bind = , $right, resizeactive, 10 0 -bind = , $up, resizeactive, 0 -10 -bind = , $left, resizeactive, -10 0 -bind = , $down, resizeactive, 0 10 - -bind = , Right , resizeactive, 10 0 -bind = , Up, resizeactive, 0 -10 -bind = , Left, resizeactive, -10 0 -bind = , Down, resizeactive, 0 10 - -bind = Shift, $right, resizeactive, 50 0 -bind = Shift, $up, resizeactive, 0 -50 -bind = Shift, $left, resizeactive, -50 0 -bind = Shift, $down, resizeactive, 0 50 - -bind = Shift, Right , resizeactive, 50 0 -bind = Shift, Up, resizeactive, 0 -50 -bind = Shift, Left, resizeactive, -50 0 -bind = Shift, Down, resizeactive, 0 50 - -bind = $flag, $right, moveactive, 10 0 -bind = $flag, $up, moveactive, 0 -10 -bind = $flag, $left, moveactive, -10 0 -bind = $flag, $down, moveactive, 0 10 - -bind = $flag, Right , moveactive, 10 0 -bind = $flag, Up, moveactive, 0 -10 -bind = $flag, Left, moveactive, -10 0 -bind = $flag, Down, moveactive, 0 10 - -bind = $flag+Shift, $right, moveactive, 50 0 -bind = $flag+Shift, $up, moveactive, 0 -50 -bind = $flag+Shift, $left, moveactive, -50 0 -bind = $flag+Shift, $down, moveactive, 0 50 - -bind = $flag+Shift, Right , moveactive, 50 0 -bind = $flag+Shift, Up, moveactive, 0 -50 -bind = $flag+Shift, Left, moveactive, -50 0 -bind = $flag+Shift, Down, moveactive, 0 50 - -gesture = 3, swipe, move -gesture = 4, swipe, resize - -bind = $flag, R, submap, reset -bind = , Escape, submap, reset -bind = , Return, submap, reset - -submap = reset - -# System actions -$mode_system = System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown -bind = Ctrl+Alt, Delete, submap, $mode_system -submap = $mode_system - -bind = , l, exec, $lock -bind = , l, submap, reset -bind = , s, exec, $lock, exec, systemctl suspend -bind = , s, submap, reset -bind = , h, exec, $lock, exec, systemctl hibernate -bind = , h, submap, reset -bind = , r, exec, systemctl reboot -bind = Shift, s, exec, systemctl poweroff -i - -bind = Ctrl+Alt, Delete, submap, reset -bind = , Escape, submap, reset -bind = , Return, submap, reset - -submap = reset - -# Launcher -$mode_launcher = Launch (f)irefox, (t)hunderbird, (l)ogseq. -bind = $flag, O, submap, $mode_launcher -submap = $mode_launcher - -bind = , F, exec, firefox -bind = , F, submap, reset -bind = , L, exec, logseq -bind = , L, submap, reset -bind = , T, exec, thunderbird -bind = , T, submap, reset - -bind = $flag, O, submap, reset -bind = , Escape, submap, reset -bind = , Return, submap, reset - -submap = reset - -# Ignore (all) keybinds. Useful when working with Virtual Machines. -$mode_ignore=Ignore keybinds - Press Control+Alt+Insert to escape. -bind = Ctrl+Alt, Insert, submap, $mode_ignore -submap = $mode_ignore - -bind = Ctrl+Alt, Insert, submap, reset - -submap = reset diff --git a/stow/hyprland/.config/hypr/monitors.conf b/stow/hyprland/.config/hypr/monitors.conf deleted file mode 100644 index 4b551d3..0000000 --- a/stow/hyprland/.config/hypr/monitors.conf +++ /dev/null @@ -1,10 +0,0 @@ -# Generated by nwg-displays on 2025-01-27 at 13:58:39. Do not edit manually. - -monitor=desc:BOE 0x08CF,1920x1080@60.0,0x0,1.0 -monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,2560x1440@59.95,0x1800,1.0 -monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,disable -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,1920x1080@60.0,2560x1800,1.0 -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,transform,1 -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,disable -monitor=desc:Samsung Electric Company SAMSUNG,0x0@60.0,-1x-1,1.0 -monitor=desc:Samsung Electric Company SAMSUNG,disable diff --git a/stow/hyprland/.config/hypr/undocked.conf b/stow/hyprland/.config/hypr/undocked.conf deleted file mode 100644 index 6f27cc4..0000000 --- a/stow/hyprland/.config/hypr/undocked.conf +++ /dev/null @@ -1,9 +0,0 @@ -monitor=desc:BOE 0x08CF,1920x1080@60.0,0x0,1.0 -monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,2560x1440@59.95,0x1800,1.0 -monitor=desc:Hewlett Packard HP ZR2740w CNT319Y008,disable -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,1920x1080@60.0,2560x1800,1.0 -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,transform,1 -monitor=desc:Dell Inc. DELL P2214H 29C2937M4YTL,disable -monitor=desc:Samsung Electric Company SAMSUNG,0x0@60.0,-1x-1,1.0 -monitor=desc:Samsung Electric Company SAMSUNG,disable - diff --git a/stow/hyprland/.config/hypr/workspaces.conf b/stow/hyprland/.config/hypr/workspaces.conf deleted file mode 100644 index e69de29..0000000 diff --git a/stow/ssh/.ssh/config b/stow/ssh/.ssh/config index ea3df8e..d3f6834 100644 --- a/stow/ssh/.ssh/config +++ b/stow/ssh/.ssh/config @@ -31,59 +31,14 @@ Host subgit.ugent.be CanonicalizeHostname yes # Ignore capitalization # HomeLab - -# Physical hosts Host Hugo User admin HostName 192.168.0.11 IdentitiesOnly yes IdentityFile /run/secrets/HomeLab/Hugo/ssh -Host Roxanne - User ghost - Hostname 192.168.0.13 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Roxanne/ghost/ssh - -Host HTPC - User root - Hostname 192.168.0.88 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/HTPC/ssh - -# Virtual hosts -Host Gitea - User gh0st - HostName 192.168.0.24 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Gitea/ssh - Host Nextcloud User administrator Hostname 192.168.0.14 IdentitiesOnly yes IdentityFile /run/secrets/HomeLab/Nextcloud/ssh - -Host Vaultwarden - User gh0st - Hostname 192.168.0.22 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Vaultwarden/ssh - -Host Binnenpost - User admin - Hostname 192.168.0.89 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/NixOS/admin/ssh - -Host Development - User admin - Hostname 192.168.0.91 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/NixOS/admin/ssh - -Host Testing - User admin - Hostname 192.168.0.92 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Nixos/admin/ssh diff --git a/stow/sway/.config/sway/config b/stow/sway/.config/sway/config index e10c9dc..922a75b 100644 --- a/stow/sway/.config/sway/config +++ b/stow/sway/.config/sway/config @@ -61,9 +61,5 @@ exec wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 exec gnome-keyring-daemon --start --components=secrets # Secrets exec dunst --verbosity crit # Notification manager exec swayidle -w -exec waycorner exec nextcloud --background - -# SwayFX -blur enable diff --git a/stow/sway/.config/sway/modes b/stow/sway/.config/sway/modes index d62608f..074dab5 100644 --- a/stow/sway/.config/sway/modes +++ b/stow/sway/.config/sway/modes @@ -7,49 +7,40 @@ set $default "default" # Resizing set $mode_resize "Resize" bindsym $flag+r mode $mode_resize -mode $mode_resize { - bindsym { - $right resize grow width 10 px or 10 ppt - $up resize grow height 10 px or 10 ppt - $left resize shrink width 10 px or 10 ppt - $down resize shrink height 10 px or 10 ppt +mode $mode_resize bindsym { + $right resize grow width 10 px or 10 ppt + $up resize grow height 10 px or 10 ppt + $left resize shrink width 10 px or 10 ppt + $down resize shrink height 10 px or 10 ppt - Right resize grow width 10 px or 10 ppt - Up resize grow height 10 px or 10 ppt - Left resize shrink width 10 px or 10 ppt - Down resize shrink height 10 px or 10 ppt + Right resize grow width 10 px or 10 ppt + Up resize grow height 10 px or 10 ppt + Left resize shrink width 10 px or 10 ppt + Down resize shrink height 10 px or 10 ppt - Shift+$right resize grow width 50 px or 50 ppt - Shift+$up resize grow height 50 px or 50 ppt - Shift+$left resize shrink width 50 px or 50 ppt - Shift+$down resize shrink height 50 px or 50 ppt + Shift+$right resize grow width 50 px or 50 ppt + Shift+$up resize grow height 50 px or 50 ppt + Shift+$left resize shrink width 50 px or 50 ppt + Shift+$down resize shrink height 50 px or 50 ppt - Shift+Right resize grow width 50 px or 50 ppt - Shift+Up resize grow height 50 px or 50 ppt - Shift+Left resize shrink width 50 px or 50 ppt - Shift+Down resize shrink height 50 px or 50 ppt + Shift+Right resize grow width 50 px or 50 ppt + Shift+Up resize grow height 50 px or 50 ppt + Shift+Left resize shrink width 50 px or 50 ppt + Shift+Down resize shrink height 50 px or 50 ppt - $flag+$right move right - $flag+$up move up - $flag+$left move left - $flag+$down move down + $flag+$right move right + $flag+$up move up + $flag+$left move left + $flag+$down move down - $flag+Right move right - $flag+Up move up - $flag+Left move left - $flag+Down move down + $flag+Right move right + $flag+Up move up + $flag+Left move left + $flag+Down move down - $flag+r mode $default - Escape mode $default - Return mode $default - } - - bindgesture { - swipe:2:right resize grow width 10 px or 10 ppt - swipe:2:down resize grow height 10 px or 10 ppt - swipe:2:left resize shrink width 10 px or 10 ppt - swipe:2:up resize shrink height 10 px or 10 ppt - } + $flag+r mode $default + Escape mode $default + Return mode $default } # System actions @@ -103,8 +94,8 @@ mode $mode_screenshot bindsym { set $mode_launcher "Launch (f)irefox, (s)potify or (t)hunderbird." bindsym $flag+o mode $mode_launcher mode $mode_launcher bindsym { - f exec firefox, mode $default - t exec thunderbird, mode $default + f exec firefox + t exec thunderbird $flag+o mode $default Escape mode $default diff --git a/stow/sway/.config/sway/style b/stow/sway/.config/sway/style index 8aea2fc..7377b3b 100644 --- a/stow/sway/.config/sway/style +++ b/stow/sway/.config/sway/style @@ -15,10 +15,6 @@ default_border pixel 1 default_floating_border normal 1 hide_edge_borders smart smart_borders on -gaps { - inner 5 - outer 3 -} # Mimic no titles by setting the text color to background color # border backgr. text indic. child_border diff --git a/stow/swaylock/.config/swaylock/config b/stow/swaylock/.config/swaylock/config index a5ecd8a..96b053f 100644 --- a/stow/swaylock/.config/swaylock/config +++ b/stow/swaylock/.config/swaylock/config @@ -2,23 +2,21 @@ # .config/swaylock/config # -#indicator -#indicator-radius=200 -# -#clock -#datestr=%A, %B %d %Y -# -#show-failed-attempts -# -#screenshots -#effect-pixelate=10 -#effect-vignette=0.75:0 # Darken the whole screen. -#fade-in=0.25 -# -#grace=7 # Allow to unlock without password for duration -#grace-no-mouse +indicator +indicator-radius=200 -image=${ASSETS_DIR}/bluescreen.png +clock +datestr=%A, %B %d %Y + +show-failed-attempts + +screenshots +effect-pixelate=10 +effect-vignette=0.75:0 # Darken the whole screen. +fade-in=0.25 + +grace=7 # Allow to unlock without password for duration +grace-no-mouse # Styling diff --git a/stow/vim/.vimrc b/stow/vim/.vimrc index bd87fe5..379ddb4 100644 --- a/stow/vim/.vimrc +++ b/stow/vim/.vimrc @@ -25,7 +25,8 @@ set smarttab set tabstop=4 set title set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx -set wildmenu "" Show suggestions on another line instead of inplace +"" Show suggestions on another line instead of inplace +set wildmenu syntax enable diff --git a/stow/waybar/.config/waybar/config b/stow/waybar/.config/waybar/config new file mode 100644 index 0000000..3b1a053 --- /dev/null +++ b/stow/waybar/.config/waybar/config @@ -0,0 +1,42 @@ +// +// ~/.config/waybar/config +// + +[{ + "name": "toggle", + + "mode": "hide", + "ipc": true, + + "position": "top", + "height": 25, + "spacing": 4, + "margin": "-25px 0 0 0", // Show this bar on top of the other one, seemingly the "same" one. + + "custom/sep": { + "format": "\uf142" + }, + + "include": [ + // Import modules (!) + "~/.config/waybar/modules.json", +// "~/.config/waybar/default.json" + "~/.config/waybar/left.json" + ], + +}, + +{ + "name": "keep", + "position": "top", + "height": 25, + "modules-left": ["sway/mode"], + "modules-center": ["clock"], + "modules-right": ["privacy", "keyboard-state"], + + "include": [ + // Import modules (!) + "~/.config/waybar/modules.json" + ], +}] + diff --git a/stow/waybar/.config/waybar/config.jsonc b/stow/waybar/.config/waybar/config.jsonc deleted file mode 100644 index addef9e..0000000 --- a/stow/waybar/.config/waybar/config.jsonc +++ /dev/null @@ -1,64 +0,0 @@ -/* * * * * * * * * * * * * * * * * - * * - * ~/.config/waybar/config.jsonc * - * * - * * * * * * * * * * * * * * * * */ - -[ - /* Always visible, contains less information */ - { - "name": "keep", - "position": "top", - "height": 26, - "modules-left": [ - "group/mode" - ], - "modules-center": [ - "clock#center" - ], - "modules-right": [ - "keyboard-state#numlock", - "keyboard-state#capslock", - "privacy" - ], - "include": [ - "~/.config/waybar/modules.json" - ], - "start_hidden": true - }, - - /* Toggle this bar, contains all information */ - { - "name": "toggle", - "position": "top", - "height": 26, - /* Show this bar on top of the other one, seemingly replacing it. */ - /*"margin": "-26px 0 0 0",*/ - "modules-left": [ - "custom/meta", - "sway/window", - "group/workspaces", - "custom/scratchpad-indicator", - "group/mode" - ], - "modules-center": [ - "mpris" - ], - "modules-right": [ - "keyboard-state#numlock", - "keyboard-state#capslock", - "privacy", - "tray", - "group/control-center", - "group/display", - "group/network", - "pulseaudio", - "group/power", - "clock#bar" - ], - "include": [ - "~/.config/waybar/modules.json" - ], - "reload_style_on_change": true - } -] diff --git a/stow/waybar/.config/waybar/left.json b/stow/waybar/.config/waybar/left.json index 86b9a00..8ab0639 100644 --- a/stow/waybar/.config/waybar/left.json +++ b/stow/waybar/.config/waybar/left.json @@ -2,15 +2,16 @@ "modules-left": [ "sway/workspaces", "custom/scratchpad-indicator", + "mpris", "group/system" ], "modules-right": [ - "tray", - "sway/language", + "group/hardware", "bluetooth", "network", "pulseaudio", "group/battery", - "mpris" + "custom/sep", + "tray" ] } diff --git a/stow/waybar/.config/waybar/modern.css b/stow/waybar/.config/waybar/modern.css deleted file mode 100644 index 35ce570..0000000 --- a/stow/waybar/.config/waybar/modern.css +++ /dev/null @@ -1,80 +0,0 @@ -@define-color foreground rgb(202, 202, 202); -@define-color background rgb( 3, 3, 3); - -@define-color highlight-background alpha(@foreground, 0.4); - -@define-color accent #00897b; -@define-color white #ecf0f1; -@define-color warning-red #eb4d4b; - -* { - font-family: letter, "Font Awesome 6 Free", font-awesome, monospace; - font-size: 13px; - font-weight: 600; -} - -window#waybar { - border: none; - color: @white; - - transition-property: background-color; - transition-duration: .5s; -} - -window#waybar.keep { - background-color: @transparent; -} - -window#waybar.toggle { - background-color: alpha(@foreground, 0.4); -} - -tooltip { - background: alpha(@background, 0.8); -} -tooltip label { - color: @white; -} - -#workspaces button { - border: none; - padding: 0 8px; - border-radius: 5px; - animation: ws_normal 20s ease-in-out 1; -} - -#mode, -#workspaces button.focused { - background-color: alpha(@background, 0.2); -} - -#workspaces button:hover { - background-color: alpha(@background, 0.2); -} - -#battery, -#disk, -#bluetooth, -#clock, -#custom-browser, -#custom-scratchpad-indicator, -#custom-system-hibernate, #custom-system-lock, #custom-system-reboot, #custom-system-shutdown, #custom-system-sleep, -#custom-toggle-light-dark, -#custom-toggle-night-light, -#custom-toggle-notifications, -#cpu, -#idle_inhibitor, -#keyboard-state, -#memory, -#mpris, -#network, -#sway-language, -#sway-window, -#power-profiles-daemon, -#privacy, -#pulseaudio, -#temperature, -#tray { - color: @white; -} - diff --git a/stow/waybar/.config/waybar/modules.json b/stow/waybar/.config/waybar/modules.json index 683d70b..026ad07 100644 --- a/stow/waybar/.config/waybar/modules.json +++ b/stow/waybar/.config/waybar/modules.json @@ -1,277 +1,149 @@ { - "backlight": { - "device": "intel_backlight", - "format": "{percent}% {icon}", - "format-icons": [ - "\uf111", /*  */ - "\uf185" /*  */ - ], - "on-click": "brightnessctl -sq set 0", - "on-click-right": "wl-mirror $(hyprctl monitors -j | jq --raw-output '.[] | select(.focused) | .name')" - }, - "battery": { "format": "{capacity}% {icon}", "format-alt": "{time} {icon}", - "format-charging": "{capacity}% \ue55b", /*  */ + "format-charging": "{capacity}% \uf0e7 {icon}", + "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"], "format-plugged": "{capacity}% \ue55c", - "format-icons": [ - "\uf244", /*  */ - "\uf243", /*  */ - "\uf242", /*  */ - "\uf241", /*  */ - "\uf240" /*  */ - ], - "states": { - "warning": 25, - "critical": 12 + "states": { + "warning": 30, + "critical": 15 } }, + "disk": { + "interval": 30, + "format": "{percentage_used}% \uf0a0", + "on-click": "kitty -e duf /", + "path": "/", + "tooltip-format": "{used} used out of {total} on {path} ({percentage_free}% or {free} free)" + }, + "bluetooth": { - "format-disabled": "\uf294", /*  */ - "format-off": "\uf294", /*  */ - "format-on": "\uf294", /*  */ - "format-connected": "\uf294c", /* c */ + "format-disabled": "\uf294", + "format-off": "\uf294", + "format-on": "\uf294", + "format-connected": "\uf294c", "max-length": 10.3, "on-click": "bluetoothctl power $( bluetoothctl show | sed -n 's/\\s*Powered: \\(yes\\|no\\)/\\1/p' | sed 's/yes/off/;s/no/on/' )", + "on-click-right": "kitty -e bluetoothctl", "tooltip-format": "{status}", "tooltip-format-on": "{status}, no devices connected", "tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}", "tooltip-format-enumerate-connected": "{device_alias} ({device_address})", "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}" }, - - "clock#center": { + + "clock": { "format": "{:%H:%M}", - "format-alt": "{:%a %b %d, %Y, %R}", + "format-alt": "{:%d/%m/%Y %H:%M}", "timezone": "Europe/Brussels", - "tooltip-format": "{:%Y %B}\n{calendar}", - "calendar": { - "mode": "month", - "week-pos": "left", - "format": { - /* Highlight todays date. */ - "today": "{}" - } - }, - "actions": { - "on-click": "mode" - } + "tooltip-format": "{:%Y %B}\n{calendar}" }, - "clock#bar": { - "format": "{:%a %b %d, %R}", - "timezone": "Europe/Brussels", - "tooltip-format": "{:%Y %B}\n{calendar}", - "calendar": { - "mode-mon-col": 3, - "on-scroll": 1, - "format": { - /* Highlight today's date. */ - "today": "{}" - } - }, - "actions": { - "on-click": "mode" - } + "custom/browser": { + "format": "\uf120", + "on-click": "dmenu_run", + "tooltip-format": "Launch an application" }, - "custom/control-center": { - "format": "\uf085", /*  */ - "tooltip": false + "custom/light-dark-toggle": { + "exec": "bash ${SCRIPT_DIR}/toggle-light-dark.sh -g", + "exec-on-event": true, + "on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh", + // "format": "\uf042 ", + "format": "{icon}", + "format-icons": [ + "\uf185", + "\uf111" + ], + "tooltip": true, + "tooltip-format": "Toggle between light and dark mode" }, - "custom/display": { - "format": "\ue163", /*  */ - "tooltip": false, - "on-click": "wdisplays" + "custom/keyboard-switch": { + "format": "\uf11c", + "on-click": "swaymsg input type:keyboard xkb_switch_layout next", + "tooltip-format": "Toggle keyboard layouts", + "tooltip": true }, - "custom/meta": { - "format": "\uf17c", /*  */ - "tooltip": false, - "on-click": "dmenu_run" + "custom/night-light-toggle": { + "on-click": "bash ${SCRIPT_DIR}/sunset.sh", + "format": "\uf0eb ", + "tooltip": true, + "tooltip-format": "Toggle night-light on or off" }, "custom/scratchpad-indicator": { "interval": 3, "return-type": "json", "exec": "swaymsg -t get_tree | jq --unbuffered --compact-output '(recurse(.nodes[]) | select(.name == \"__i3_scratch\") | .focus) as $scratch_ids | [.. | (.nodes? + .floating_nodes?) // empty | .[] | select(.id |IN($scratch_ids[]))] as $scratch_nodes | if ($scratch_nodes|length) > 0 then { text: \"\\($scratch_nodes | length)\", tooltip: $scratch_nodes | map(\"\\(.app_id // .window_properties.class) (\\(.id)): \\(.name)\") | join(\"\\n\") } else empty end'", - "format": "\uf2d2 {}", + "format": "{} \uf2d2", "on-click": "exec swaymsg 'scratchpad show'", "on-click-right": "exec swaymsg 'move scratchpad'" }, "custom/system-lock": { - "format": "\uf09c", /*  */ + "format": "\uf09c", "tooltip": true, "tooltip-format": "Lock device", - "on-click": "swaylock --daemonize" + "on-click": "swaylock -f" }, "custom/system-sleep": { - "format": "\uf186", /*  */ + "format": "\uf186", "tooltip": true, "tooltip-format": "Put device to sleep", - "on-click": "swaylock --daemonize; systemctl suspend" + "on-click": "swaylock -f; systemctl suspend" }, "custom/system-hibernate": { - "format": "\uf2dc", /*  */ + "format": "\uf2dc", "tooltip": true, "tooltip-format": "Hibernate device", - "on-click": "swaylock --daemonize; systemctl hibernate" + "on-click": "swaylock -f; systemctl hibernate" }, "custom/system-reboot": { - "format": "\uf0e2", /*  */ + "format": "\uf0e2", "tooltip": true, "tooltip-format": "Reboot device", "on-click": "systemctl reboot" }, "custom/system-shutdown": { - "format": "\uf011", /*  */ + "format": "\uf011", "tooltip": true, "tooltip-format": "Shutdown device", "on-click": "systemctl poweroff -i" }, - "custom/toggle-light-dark": { - "exec": "bash ${SCRIPT_DIR}/toggle-light-dark.sh -g", - "interval": 60, - "return-type": "json", - "on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh", - "format": "{icon}", - "format-icons": { - "default": "\uf185", - "prefer-dark": "\uf005" - }, - "tooltip": true - }, - - "custom/toggle-nightlight": { - "exec": "bash ${SCRIPT_DIR}/toggle-nightlight.sh -g", - "interval": 60, - "return-type": "json", - "on-click": "bash ${SCRIPT_DIR}/toggle-nightlight.sh", - "format": "{icon}", - "format-icons": { - "active": "\uf186", /*  */ - "inactive": "\uf0eb" /*  */ - }, - "tooltip": true - }, - "custom/toggle-notifications": { - "exec": "bash ${SCRIPT_DIR}/toggle-notifications.sh -g", - "interval": 60, - "return-type": "json", - "on-click": "bash ${SCRIPT_DIR}/toggle-notifications.sh", - "format": "{icon}", - "format-icons": { - "normal": "\uf0f3", /*  */ - "paused": "\uf1f6" /*  */ - }, + "on-click": "bash ${SCRIPT_DIR}/do-not-disturb.sh", + "tooltip-format": "Toggle notifications", + "format": "\uf1f6 ", + "tooltip": true + }, + + "cpu": { + "format": "{usage}% \uf2db", + "on-click": "foot -e htop", "tooltip": true }, - "custom/toggle-tailscale": { - "exec": "bash ${SCRIPT_DIR}/toggle-tailscale.sh -g", - "interval": 60, - "return-type": "json", - "on-click": "bash ${SCRIPT_DIR}/toggle-tailscale.sh", - "format": "{icon}", - "format-icons": { - "disconnected": "\ue50b", - "connected": "\ue509", - }, - "tooltip": true - }, - - "group/control-center": { + "group/battery": { "orientation": "inherit", "modules": [ - /* Preview */ - "custom/control-center", - /* Left-most */ - "group/language", - "custom/toggle-notifications" - /* Right-most */ - ], - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false, - "children-class": "drawer-child" - } - }, - - "group/display": { - "orientation": "inherit", - "modules": [ - /* Preview */ - "custom/display", - /* Most-left */ - "idle_inhibitor", - "custom/toggle-nightlight", - "custom/toggle-light-dark", - "backlight" - /* Most-right */ - ], - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false, - "children-class": "drawer-child" - } - }, - - "group/language": { - "orientation": "inherit", - "modules": [ - "hyprland/language", - "sway/language" - ] - }, - - "group/mode": { - "orientation": "inherit", - "modules": [ - "hyprland/submap", - "sway/mode" - ] - }, - - "group/network": { - "orientation": "inherit", - "modules": [ - /* Preview */ - "network", - /* Most-left */ - "bluetooth", - "custom/toggle-tailscale" - /* Most-right */ - ], - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false, - "children-class": "drawer-child" - } - }, - - "group/power": { - "orientation": "inherit", - "modules": [ - /* Preview */ "battery", - /* Most-left */ "custom/system-shutdown", "custom/system-reboot", "custom/system-hibernate", "custom/system-sleep", "custom/system-lock", - "power-profiles-daemon" - /* Most-right */ + "custom/sep", + "power-profiles-daemon", + "custom/sep" ], "drawer": { "transition-duration": 500, @@ -280,172 +152,170 @@ } }, - "group/workspaces": { + "group/hardware": { "orientation": "inherit", "modules": [ - "hyprland/workspaces", - "sway/workspaces" - ] + "custom/sep", + "memory", + "cpu", + "temperature" + ], + "drawer": { + "transition-duration": 500, + "transition-left-to-right": false, + "children-class": "drawer-child" + } }, - "hyprland/language": { - "format": "\uf11c", - "on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next && notify-send \"$(hyprctl devices -j | jq -r '.keyboards[] | select(.name == \"at-translated-set-2-keyboard\") | .active_keymap')\" --app-name 'waybar'", - "tooltip": true, - "tooltip-format": "Switch keyboard layouts", - "keyboard-name": "at-translated-set-2-keyboard" - }, - - "hyprland/workspaces": { - "all-outputs": false, - "disable-scroll": true, - "format": "{icon}{name}", - "format-icons": { - "default": "", - "urgent": "\uf071 " /*  */ + "group/system": { + "orientation": "inherit", + "modules": [ + "idle_inhibitor", + "custom/light-dark-toggle", + "custom/night-light-toggle", + "custom/keyboard-switch", + "custom/toggle-notifications" + ], + "drawer": { + "transition-duration": 500, + "tansition-left-to-right": true, + "children-class": "drawer-child" } }, "idle_inhibitor": { "format": "{icon}", "format-icons": { - "activated": "\uf06e", /*  */ - "deactivated": "\uf070" /*  */ - }, + "activated": "\uf06e", + "deactivated": "\uf070" + }, "tooltip": false }, - "keyboard-state#capslock": { - "capslock": true, + "keyboard-state": { "format": { "capslock": "{icon}" }, "format-icons": { - "locked": "\uf11c", /*  */ + "locked": "\uf023", "unlocked": "" - } + }, + "numlock": false, + "capslock": true, + "scrollock": false }, - "keyboard-state#numlock": { - "numlock": true, - "format": { - "numlock": "{icon}" - }, - "format-icons": { - "locked": "\uf1ec", /*  */ - "unlocked": "" - } + "memory": { + "format": "{}% \uf1c0", + "on-click": "kitty -e zenith" }, "mpris": { + // "ignored-players": ["firefox"] "format": "{player_icon} {dynamic}", "format-paused": "{status_icon} {dynamic}", "tooltip-format": "{player} ({status}) {title} - {artist} - {album}", "player-icons": { - "default": "\uf8d9", /*  */ - "mpv": "\uf144", /*  */ - "spotify": "\uf1bc" /*  */ + "default": "\uf51f", + "spotify": "\uf1bc", + "mpv": "🎵" }, "status-icons": { - "paused": "\uf04c" /*  */ + "paused": "⏸" }, "dynamic-order": [ "title", "artist" ], - "dynamic-len": 40 + "dynamic-len": 40, }, "network": { - "format-disconnected": "\uf127", /*  */ - "format-ethernet": "\uf6ff", /*  */ - "format-linked": "\uf0c1", /*  */ - "format-wifi": "{icon}", + "format-disconnected": "\uf127", + "format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}", + "format-wifi": "\uf1eb", "interval": 5, - "tooltip": true, + "on-click-right": "kitty -e nmtui", "tooltip-format": "{ifname}: {ipaddr}", "tooltip-format-disconnected": "Disconnected", - "tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}", - "format-icons": [ - "\uf05e", /*  */ - "\uf1eb", /*  */ - "\uf1eb" /*  */ - ] - }, - - "power-profiles-daemon": { - "format": "{icon}", - "format-icons": { - "default": "\uf110", /*  */ - "performance": "\uf135", /*  */ - "balanced": "\uf24e", /*  */ - "power-saver": "\uf06c" /*  */ - }, - "tooltip": true, - "tooltip-format": "Profile: {profile}\nDriver: {driver}" - }, - - "privacy": { - "transition-duration": 250, - "icon-size": 16, - "modules": [ - { - "type": "screenshare", - "tooltip": true - }, - { - "type": "audio-in", - "tooltip": true - } - ] - }, - - "pulseaudio": { - "format": "{volume}% {icon}", - "format-headset": "{volume}% \uf58f", /*  */ - "format-muted": "\uf6a9", /*  */ - "format-icons": [ - "\uf026", /*  */ - "\uf027", /*  */ - "\uf028" /*  */ - ], - "scroll-step": 2.0, - "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - }, - - "sway/language": { - "format": "{short}", - "on-click": "swaymsg input type:keyboard xkb_switch_layout next", - "tooltip": true, - "tooltip-format": "Switch keyboard layouts" + "tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}" }, "sway/window": { - "format": "{title}", - "max-length": 20, - "tooltip": true, - "all-outputs": true, - "icon": false, - "icon-size": 18, - "rewrite": { - ".* - (.*)": "$1", - ".* — (.*)": "$1" - } + "max-length": 85 }, "sway/workspaces": { "all-outputs": false, "disable-scroll": true, - "format": "{icon}{name}", + "format": "{icon}{name}", "format-icons": { - "default": "", - "urgent": "\uf071 " /*  */ + "default": "", // Prevent showing workspace name literal. + "urgent": "\uf071 " + }, + // "persistent_workspaces": { + // "0:¯\\_(ツ)_/¯": [] + // } + }, + + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" } }, + "privacy": { + "icon-spacing": 4, + "icon-size": 18, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 18, + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 18, + }, + ], + }, + + "pulseaudio": { + "format": "{volume}% {icon}{format_source}", + "format-muted": "\uf6a9{format_source}", + "format-bluetooth": "{volume}% {icon}\uf294{format_source}", + "format-bluetooth-muted": "\uf6a9 {icon}\uf294{format_source}", + "format-source": " {volume}% \uf130", + "format-source-muted": "", + "format-icons": { + "headphone": "\uf58f", + "hands-free": "\uf590", + "headset": "\uf590", + "phone": "\uf3ce", + "portable": "\uf3ce", + "car": "\uf1b9", + "default": ["\uf026", "\uf027", "\uf028 "] + }, + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle", + "on-click-right": "pavucontrol", + "scroll-step": -2 + }, + + "temperature": { + "critical-threshold": 70, + "format": "{temperatureC}°C {icon}", + "format-icons": ["\uf2cb", "\uf2c9", "\uf2c7"] + }, + "tray": { - "icon-size": 16, - "show-passive-items": true, "spacing": 10 } } diff --git a/stow/waybar/.config/waybar/style-dark.css b/stow/waybar/.config/waybar/style-dark.css deleted file mode 100644 index d99a2e8..0000000 --- a/stow/waybar/.config/waybar/style-dark.css +++ /dev/null @@ -1,14 +0,0 @@ -@import 'style.css'; - -* { - color: #C2C2C2; -} - -window#waybar { - background-color: #171717; -} - -window#waybar button.focused { - background-color: #C2C2C2; -} - diff --git a/stow/waybar/.config/waybar/style-light.css b/stow/waybar/.config/waybar/style-light.css deleted file mode 100644 index a0bf37e..0000000 --- a/stow/waybar/.config/waybar/style-light.css +++ /dev/null @@ -1,14 +0,0 @@ -@import 'style.css'; - -* { - color: #171717; -} - -window#waybar { - background-color: #C2C2C2; -} - -window#waybar button.focused { - background-color: #171717; -} - diff --git a/stow/waybar/.config/waybar/style.css b/stow/waybar/.config/waybar/style.css index 39880dd..f9fe080 100644 --- a/stow/waybar/.config/waybar/style.css +++ b/stow/waybar/.config/waybar/style.css @@ -1,119 +1,165 @@ -/* * * * * * * * * * * * * * * * - * * - * ~/.config/waybar/style.css * - * * - * * * * * * * * * * * * * * * */ +/* + * ~/.config/waybar/style.css + * + * `otf-font-awesome` is required to be installed for icons. + * + * Pick your stylesheet: + * - sharp.css + * - transparent.css + * - round.css + */ -@define-color background #C2C2C2; -@define-color foreground #171717; - -/* Pantone / PMS 18-1559 TCX / Red Alert */ -@define-color warning rgb(208, 52, 44); -/* Safety orange */ -@define-color safety rgb(255, 103, 0); - -* { - padding: 0 4px; -} +@define-color transparent-black rgba(23, 23, 23, 0.9); +@define-color white #ecf0f1; +@define-color warning-red #eb4d4b; +@define-color accent #00897b; window#waybar { - /* background: linear-gradient(90deg, #CECECE 0%, #D1D1D1 10%, #C9C9C9 50%, #BBBBBB 90%, #BABABA 100%); */ - font-family: letter, "Font Awesome 6 Free", font-awesome, monospace; font-size: 13px; - font-weight: 600; + -webkit-font-smoothing: antialiased; + transition-property: background-color; + transition-duration: .5s; } -.modules-right, -.modules-right > widget:last-child { - padding-right: 0; +#window, #workspaces { + margin: 0 5px; +} + +#workspaces button { + border: none; + border-radius: 0; + min-width: 30px; + padding: 0 5px; +} + +#workspaces button.focused { + background-color: transparent; + color: @white; +} + +#workspaces button:hover { + background-color: transparent; + color: @transparent-black; +} + +#workspaces button.urgent { + color: @white; + background-color: @warning-red; +} + +/* All modules individually. */ +#backlight, +#battery, +#bluetooth, +#clock, +#cpu, +#custom-browser, +#custom-light-dark-toggle, +#custom-night-light-toggle, +#custom-system-lock, #custom-system-sleep, #custom-system-hibernate, #custom-system-reboot, #custom-system-shutdown, +#custom-toggle-notifications, +#disk, +#group-hardware, +#group-system, +#idle_inhibitor, +#keyboard-state, +#memory, +#mode, +#mpd, +#mpris, +#network, +#power-profiles-daemon, +#privacy-item.audio-in, #privacy-item.audio-out, #privacy-item.screenshare, +#pulseaudio, +#temperature, +#tray { + padding: 0 5px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { margin-right: 0; } -#battery.charging { +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +label:focus { + background-color: #000000; +} + +/* Module specific colours */ + +#battery.charging, #battery.plugged { + color: #ffffff; background-color: #26A65B; - color: #FFFFFF; } #battery.critical:not(.charging) { - background-color: @warning; - color: #FFFFFF; + background-color: #f53c3c; + color: #ffffff; animation-name: blink; animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#battery.plugged { - animation-name: blink; - animation-duration: 1.0s; - animation-timing-function: steps(12); + animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } #bluetooth.disabled, -#bluetooth.off { +#bluetooth.off, +#network.disconnected, +#pulseaudio.muted { opacity: 0.6; } -#custom-toggle-tailscale.disconnected { - opacity: 0.6; -} - -#mpris.Feishin { - background: linear-gradient(45deg, rgba(170,92,195,1) 100%, rgba(0,164,220,1) 0%); +#mpris { + color: #2a5c45; + min-width: 100px; } #mpris.spotify { background-color: #66cc99; - color: #2a5c45; } #mpris.vlc { background-color: #ffa000; } -#network.disconnected { - opacity: 0.6; -} - -#privacy, -#privacy-item, -#privacy-item.screenshare, -#privacy-item.audio-in, -#privacy-item.audio-out { - background-color: @safety; -} - -#privacy-item { - padding: 0; -} - -#pulseaudio.muted { - opacity: 0.6; -} - -#systemd-failed-units.degraded { - background-color: @warning; -} - #temperature.critical { - background-color: @warning; + background-color: #eb4d4b; } -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: @warning; +#custom_light-dark-toggle.activated, +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; } #tray > .passive { -gtk-icon-effect: dim; } -#workspaces button.urgent { - background-color: @warning; - color: white; +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; } +#privacy-item.audio-in, +#privacy-item.audio-out, +#privacy-item.screenshare { + background-color: #ffaa01; + color: #2d3436; +} + +@import "sharp.css"; + diff --git a/stow/zsh/.zshrc b/stow/zsh/.zshrc index 155caec..b21803c 100644 --- a/stow/zsh/.zshrc +++ b/stow/zsh/.zshrc @@ -51,7 +51,7 @@ fi alias cp='cp -i' alias df='df -h' alias free='free -m' -alias gs='git status --short' +alias gs='git status' alias hgrep='history | grep' alias ll='ls -la' alias mkdir='mkdir -pv'