Compare commits

..

No commits in common. "sync" and "main" have entirely different histories.
sync ... main

42 changed files with 414 additions and 10833 deletions

177
colors.sh
View file

@ -1,177 +0,0 @@
# tdpeuter color schemes
# The goal is to offer light and dark theme that is easy on the eyes,
# whilst also being unique and defining.
###############################
# tdpeuter-light color scheme #
###############################
# 171717 # Foreground
# FAFAFA # Daisy (Background)
# Regular colors (0-7)
# 000000 # Black (0)
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# Bright colors (8-15)
# 000000 # Black (8)
# 9
# 10
# 11
# 12
# 13
# 14
# 15
##############################
# tdpeuter-dark color scheme #
##############################
# FAFAFA # Daisy (Foreground)
printf "\033]10;#FAFAFA\007"
# 171717 # Background
printf "\033]11;#171717\007"
# Regular colors (0-7)
# 242124 # Black 0
printf "\033]4;0;#242124\007"
# B90E0A # Crimson (Red) 1
printf "\033]4;1;#B90E0A\007"
# B2BC68 # Leafy (Green) 2
printf "\033]4;2;#B2BC68\007"
# FFE135 # Banana (Yellow) 3
printf "\033]4;3;#FFE135\007"
# 80A2BE # Icicle (Blue) 4
printf "\033]4;4;#80A2BE\007"
# A45EE5 # Amethyst (Magenta) 5
printf "\033]4;5;#A45EE5\007"
# # (Cyan) 6
printf "\033]4;6;#80A2BE\007"
# FBFCF8 # Pearl (White) 7
printf "\033]4;7;#FBFCF8\007"
# Bright colors (8-15)
# 363636 # Grey-isch (Black) 8
printf "\033]4;8;#363636\007"
# BC544B # Blush (Red) 9
printf "\033]4;9;#BC544B\007"
# A6E3A1 # Lime (Green) 10
printf "\033]4;10;#A6E3A1\007"
# FCF4A3 # Banana (Yellow) 11
printf "\033]4;11;#FCF4A3\007"
# 74C7EC # Sapphire (Blue) 12
printf "\033]4;12;#74C7EC\007"
# B4BEFE # Lavender (Magenta) 13
# #CBA6F7
printf "\033]4;13;#B4BEFE\007"
# # (Cyan) 14
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"

View file

@ -1,15 +1,54 @@
{ {
"nodes": { "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": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1701680307,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "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" "type": "github"
}, },
"original": { "original": {
@ -25,11 +64,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726989464, "lastModified": 1716736833,
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -47,11 +86,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1720066371, "lastModified": 1701208414,
"narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", "narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-github-actions", "repo": "nix-github-actions",
"rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", "rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -62,11 +101,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1730883749, "lastModified": 1717144377,
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", "rev": "805a384895c696f802a9bf5bf4720f37385df547",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -77,27 +116,27 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1730602179, "lastModified": 1717265169,
"narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", "narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", "rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "release-24.05", "ref": "release-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1730785428, "lastModified": 1716948383,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -116,15 +155,15 @@
"nixpkgs" "nixpkgs"
], ],
"poetry2nix": "poetry2nix", "poetry2nix": "poetry2nix",
"systems": "systems_2", "systems": "systems_3",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1724283233, "lastModified": 1701455376,
"narHash": "sha256-XMPn6YHwFOJCGLE9M5F3AEFKA0u+maf8CpIEWmvaQTQ=", "narHash": "sha256-FMLrMdi6JY7ZfqV5XnNj64jnDcGKznKZLn7O6OMO3u0=",
"owner": "ThinkChaos", "owner": "ThinkChaos",
"repo": "openconnect-sso", "repo": "openconnect-sso",
"rev": "94f1ddfef1662d56ede0a093bcfc3d23156bc1a1", "rev": "20c0015c4264c72cc19ac272de0dc534309bd21b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -158,11 +197,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721039874, "lastModified": 1701105783,
"narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=", "narHash": "sha256-5IOI0xXGbhAkUZNNcPId48V78Q+/JlW0hzlif0zxRmM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "poetry2nix", "repo": "poetry2nix",
"rev": "d11c01e58587e5f21037ed6477465a7f26a32e27", "rev": "0b2bff39e9bd4e6db3208e09c276ca83a063b370",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -173,7 +212,8 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "devshell": "devshell",
"flake-utils": "flake-utils_2",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
@ -190,11 +230,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1730883027, "lastModified": 1717297459,
"narHash": "sha256-pvXMOJIqRW0trsW+FzRMl6d5PbsM4rWfD5lcKCOrrwI=", "narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "c5ae1e214ff935f2d3593187a131becb289ea639", "rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -233,6 +273,21 @@
"type": "github" "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": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -241,11 +296,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721769617, "lastModified": 1699786194,
"narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=", "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009", "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -261,11 +316,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722363685, "lastModified": 1715533576,
"narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=", "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus", "repo": "flake-utils-plus",
"rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496", "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,13 +5,17 @@
nixpkgs.url = "nixpkgs/nixos-24.05"; nixpkgs.url = "nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-24.05"; url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
openconnect-sso = { openconnect-sso = {
url = "github:ThinkChaos/openconnect-sso/fix/nix-flake"; url = github:ThinkChaos/openconnect-sso/fix/nix-flake;
inputs = { inputs = {
flake-utils.follows = "utils"; flake-utils.follows = "utils";
nixpkgs.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs";
@ -29,7 +33,7 @@
outputs = inputs@{ outputs = inputs@{
self, nixpkgs, nixpkgs-unstable, self, nixpkgs, nixpkgs-unstable,
flake-utils, home-manager, openconnect-sso, sops-nix, utils, devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils,
... }: ... }:
let let
system = "x86_64-linux"; system = "x86_64-linux";

View file

@ -75,9 +75,9 @@
networking.hostName = "Tibo-NixDesk"; networking.hostName = "Tibo-NixDesk";
services.xserver.xkb = { services.xserver = {
layout = "us"; layout = "us";
variant = "altgr-intl"; xkbVariant = "altgr-intl";
}; };
system.stateVersion = "24.05"; system.stateVersion = "24.05";

View file

@ -19,7 +19,7 @@
networking = { networking = {
networkmanager.enable = true; networkmanager.enable = true;
openconnect-sso.enable = true; # openconnect-sso.enable = true;
}; };
nix = { nix = {
@ -80,7 +80,6 @@
programs = { programs = {
zsh.enable = true; zsh.enable = true;
steam.enable = true;
}; };
hardware.bluetooth = { hardware.bluetooth = {
@ -88,10 +87,7 @@
powerOnBoot = false; powerOnBoot = false;
}; };
networking = { networking.hostName = "Tibo-NixFat";
hostName = "Tibo-NixFat";
networkmanager.wifi.powersave = true;
};
services = { services = {
# Handle the laptop lid switch as follows: # Handle the laptop lid switch as follows:
@ -109,8 +105,6 @@
# Touchpad # Touchpad
libinput.enable = true; libinput.enable = true;
thermald.enable = true;
}; };
system.stateVersion = "24.05"; system.stateVersion = "24.05";

View file

@ -8,32 +8,21 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot = { boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
initrd = { boot.initrd.kernelModules = [ ];
availableKernelModules = [ boot.kernelModules = [ "kvm-intel" ];
"xhci_pci" boot.extraModulePackages = [ ];
"nvme"
"usb_storage" fileSystems."/" = {
"sd_mod" device = "/dev/disk/by-label/NIX-ROOT";
"rtsx_pci_sdmmc" fsType = "ext4";
];
kernelModules = [ ];
luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
}; };
fileSystems = { boot.initrd.luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
"/" = {
device = "/dev/disk/by-label/NIX-ROOT";
fsType = "ext4";
};
"/boot/efi" = { fileSystems."/boot/efi" = {
device = "/dev/disk/by-label/NIX-BOOT"; device = "/dev/disk/by-label/NIX-BOOT";
fsType = "vfat"; fsType = "vfat";
};
}; };
swapDevices = [ swapDevices = [

View file

@ -65,17 +65,14 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = (with pkgs; [ environment.systemPackages = (with pkgs; [
# Window manager related
dbus-sway-environment dbus-sway-environment
configure-gtk configure-gtk
wayland wayland
xdg-utils # Open with default program xdg-utils # Open with default program
glib # gsettings glib # gsettings
wl-clipboard wl-clipboard
wl-mirror # Mirror an output
wdisplays # Tool to configure displays wdisplays # Tool to configure displays
# Desktop Environment related
brightnessctl brightnessctl
dunst dunst
libnotify libnotify
@ -108,8 +105,6 @@ in {
source-han-serif-japanese source-han-serif-japanese
]; ];
hardware.opengl.enable = true;
security.polkit.enable = true; security.polkit.enable = true;
services = { services = {
@ -144,14 +139,9 @@ in {
extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
}; };
programs = { programs.sway = {
sway = { enable = true;
enable = true; wrapperFeatures.gtk = true;
package = pkgs.swayfx;
wrapperFeatures.gtk = true;
};
waybar.enable = true;
}; };
sisyphus.users.wantedGroups = [ sisyphus.users.wantedGroups = [

View file

@ -42,12 +42,9 @@ in {
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
}; };
nvidia = { nvidia = {
# Use the NVidia open source kernel module
open = false; open = false;
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
# Modesetting is required.
modesetting.enable = true; modesetting.enable = true;
nvidiaSettings = cfg.gui-settings; nvidiaSettings = cfg.gui-settings;
powerManagement = { powerManagement = {

View file

@ -25,17 +25,11 @@ in {
]; ];
# Send a notification if the YubiKey is waiting for touch. # Send a notification if the YubiKey is waiting for touch.
systemd.services.yubikey-touch-detector = { systemd.user.services.yubikey-touch-detector = {
enable = true; enable = true;
description = "Detects when your YubiKey is waiting for a touch"; description = "Detects when your YubiKey is waiting for a touch";
path = with pkgs; [ path = with pkgs; [ yubikey-touch-detector ];
gnupg script = ''exec yubikey-touch-detector --notify'';
yubikey-touch-detector
];
wantedBy = [
"graphical-session.target"
];
script = ''exec yubikey-touch-detector --libnotify'';
environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true"; environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true";
}; };
}; };

View file

@ -5,7 +5,6 @@
./openssh ./openssh
./pipewire ./pipewire
./printing ./printing
./remEYEnder
./tailscale ./tailscale
]; ];
} }

View file

@ -10,7 +10,7 @@ in {
printing.enable = true; printing.enable = true;
avahi = { avahi = {
enable = true; enable = true;
nssmdns4 = true; nssmdns = true;
openFirewall = true; openFirewall = true;
}; };
}; };

View file

@ -1,35 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sisyphus.services.remEYEnder;
icon = ./vecteezy_eyes-line-icon-vector-isolated_13932670.jpg;
in {
options.sisyphus.services.remEYEnder.enable = lib.mkEnableOption "Eye reminder";
config = lib.mkIf cfg.enable {
systemd.user = {
services.remEYEnder = {
enable = true;
description = "Send an eye reminder";
serviceConfig.Type = "oneshot";
script = ''
# Display reminder for 20 seconds.
${pkgs.libnotify}/bin/notify-send -t 20000 --icon=${icon} "RemEYEnder" "Look away from your screen :)"
'';
};
timers.remEYEnder = {
enable = true;
description = "Timer for remEYEnders, runs every 20 minutes.";
wantedBy = [
"timers.target"
];
timerConfig = {
OnActiveSec = "20min";
OnUnitActiveSec = "20min";
Unit = "remEYEnder.service";
};
};
};
};
}

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

View file

@ -12,11 +12,6 @@ in {
enableOnBoot = false; enableOnBoot = false;
}; };
# Updated version of deprecated enableNvidia.
hardware.nvidia-container-toolkit.enable = true; hardware.nvidia-container-toolkit.enable = true;
sisyphus.users.wantedGroups = [
"docker"
];
}; };
} }

View file

@ -2,6 +2,17 @@
let let
cfg = config.sisyphus.virtualisation.virtualbox; cfg = config.sisyphus.virtualisation.virtualbox;
# I like to override the virtualbox package because it is frequently
# and rebuilds take quite long.
inherit (pkgs) fetchurl;
version = "7.0.10";
virtualbox-override = pkgs.virtualbox.overrideAttrs (oldAttrs: {
src = fetchurl {
url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "0b1e6d8b7f87d017c7fae37f80586acff04f799ffc1d51e995954d6415dee371";
};
});
in { in {
options.sisyphus.virtualisation.virtualbox.enable = lib.mkEnableOption "VirtualBox"; options.sisyphus.virtualisation.virtualbox.enable = lib.mkEnableOption "VirtualBox";
@ -10,6 +21,7 @@ in {
host = { host = {
enable = true; enable = true;
enableExtensionPack = true; enableExtensionPack = true;
package = virtualbox-override;
}; };
guest = { guest = {
enable = true; enable = true;

View file

@ -1,7 +1,5 @@
GitHub: GitHub:
ssh: ENC[AES256_GCM,data:jzRpTgefhZg7Vhm8QvWNsPBko1yw56sM/XehY72lAc7aRz+dx6BGgyYbZiifd7GrGJGUbH6gWfUg8YjgVla6VRsiHCEvSK3bY0ADDwTeSUs+wuybYXQZqhivSCInVtVSNAcp99uI1QwKor289zmxcFtSZEXgU1OCSel/8br+qipAbOkzAKX1v15eigjY4OSQxXL59EuuuHEQ+vjVVv95tDv03jaNAoU9UKr0Atrny/Fn2sQn4Tmec5Q1XdvDErKhSxrAFiACkxXUwPZMHez+BUZrmkksqpzNJjYNIlmsITuOVr7Fyen9wotAwsDf96Fmz5JYLtRX9CAboUgQLdUOKprwX/xgBnFtDTSH1Qr785T1QSAZL6xdE6hNibxZO3vGeeaPC3oGB5g9x5CwTQelMdOUPKdKorCDj226o56cTc/IQxUpsULbeOyi2pMGHiTHbiQBzHpxWyQ/gBktPkF25GOFeaCu3gW+xsspX91jSKudcYdBqWUNmJcdsfHfPxPM4cZtA/sVMyoA+YcehgU7GTu9DAlxDTug/JWo,iv:5shfzmrFFVEuaYmyTkBMAw9BIFFkKz0yl1dyJWxq6Y4=,tag:CX7TBJJXCKuIPSmg9/RpGg==,type:str] ssh: ENC[AES256_GCM,data:jzRpTgefhZg7Vhm8QvWNsPBko1yw56sM/XehY72lAc7aRz+dx6BGgyYbZiifd7GrGJGUbH6gWfUg8YjgVla6VRsiHCEvSK3bY0ADDwTeSUs+wuybYXQZqhivSCInVtVSNAcp99uI1QwKor289zmxcFtSZEXgU1OCSel/8br+qipAbOkzAKX1v15eigjY4OSQxXL59EuuuHEQ+vjVVv95tDv03jaNAoU9UKr0Atrny/Fn2sQn4Tmec5Q1XdvDErKhSxrAFiACkxXUwPZMHez+BUZrmkksqpzNJjYNIlmsITuOVr7Fyen9wotAwsDf96Fmz5JYLtRX9CAboUgQLdUOKprwX/xgBnFtDTSH1Qr785T1QSAZL6xdE6hNibxZO3vGeeaPC3oGB5g9x5CwTQelMdOUPKdKorCDj226o56cTc/IQxUpsULbeOyi2pMGHiTHbiQBzHpxWyQ/gBktPkF25GOFeaCu3gW+xsspX91jSKudcYdBqWUNmJcdsfHfPxPM4cZtA/sVMyoA+YcehgU7GTu9DAlxDTug/JWo,iv:5shfzmrFFVEuaYmyTkBMAw9BIFFkKz0yl1dyJWxq6Y4=,tag:CX7TBJJXCKuIPSmg9/RpGg==,type:str]
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: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -17,8 +15,8 @@ sops:
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-19T12:24:38Z" lastmodified: "2023-09-11T10:23:48Z"
mac: ENC[AES256_GCM,data:g15gV0H0rlzoeN5Z/Zkgh/8ya9GSrWDVP9oqdVz3m4obmquCLDIygsPaYpRXmfOtPSgvX2KzZ08sNLfcBZSh7eH2Ws7xcezWOntOcmAQNz5LvemqP7YuwtivMK/P4qrkME+LQPkSrSUR+rT99Zj+RQXisy91Cq9NbVBj6uQH7+I=,iv:W+oDp5Dun0g35BFprOmgfI0LoPME3HpPuuniCKA32Kc=,tag:CUU74HZuRNedyI3txn9D+g==,type:str] mac: ENC[AES256_GCM,data:3XEbhFY1TlXo6bTctV2u4i6QPzXnJC6iU3F/MUARSQl1z4peOB5x8hZfdiV/hVMR8I+83TxDcEAmKDrcaMf89Tqa+OiD//wBekMUfS7AmBRhpv7X5qfarflfnygacFsAMhf/bdiqowYbGSNvlPjueqHJaFZ+3x/wPrt/jAYNlr8=,iv:ciQmY7bE+Je6kMlmxxtQvp+r3e/ZK942tT4TtXhDX2M=,tag:4+7uZlEm5bcRfZC7pp5Y7Q==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.8.1 version: 3.7.3

View file

@ -1,27 +0,0 @@
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]
Hugo:
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]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k
SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz
ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-20T07:58:57Z"
mac: ENC[AES256_GCM,data:mmFgjE7rp7fXmPOnETGamHR3kUAguFCNNTQcEnD+uM4xeSp3QcB2g8tkKYaJAjkWWqKRSm9/Iu1NWOr9GWyu4O1h7ppWSvpKawWki6cHpqBl8JOwbx/SZi5bzU1lBtoJyT6hD1aCu9ENOMUkpPY3rKcYwbsRMJpKYsbXymPikcQ=,iv:kPB6ds8c4yc/w7Ny1d3DTyztQF4yTr0NyKgIHEzIKAg=,tag:VTpXRb5HaWDjVB52K7mByw==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

24
nixos/secrets/Hugo.yaml Normal file
View file

@ -0,0 +1,24 @@
Hugo:
ssh: ENC[AES256_GCM,data:Qi4YEvG64lJqhISMNtuC0mM02TU5KPpzdgs8x2UJwxAxus4+Aa3nIttkbcbKxtobL7ohKcMFGq7bBdj+s4zbctctknHdjiwj1caDoD7+Fm5H0RWLe7yjt5e4IxRywN8cNF59FfINl2tMutuENOzSucjHIXTKSV/ARZzwhcyZkQy//YvlReUSrUNaNkVM1VtjVILOToAXGzQx5w74eX+9JYV9FtZRTbr/spule+UDDtPZaaiFZmFfE5YjULFPaZJo2iUiirKalPodxfIar9eXzoN+bOQbz2Xys1QHNEt2cwWjERruCsojiyA+XeYFreWEWGggSEXizxv7cS5ab1e9XqtWR+u3Gdy/t1/cjoMBVXuLxQ+BwTlAO8NDgRbW0aq8q5yOsPCjShI/N4EVN5qtMUT1+mYZLCiZPPXbLBIiyqIWea/Ru8iIo7+WoF2iDBgshwnw8+uGDFfwlNh3SAwMSQOcGg06+U17PeU56Q/wqID2lEMDgGfHdqObvMlae1q+Qa9cwrp4xDw5S42NlgVaNcovUav5US5kO43r,iv:xvuRv4sqLRGv9npIVjnGV7zDPzIyS58ZKN2T23BmMZs=,tag:iGnBzgRhREEfKjE/ea5Drw==,type:str]
Gitea:
ssh: ENC[AES256_GCM,data:digqDmnEPg/Zn9Xt7+Z/R9lTBs6CeOgHgIhstWxHnvucwshUO7Zu+l80YPyzAck0pO5YIKML8hjAqj30lYqSPRzG1uRpT7likCy15MqyyQ64U+5PGQRNhybo1eYoqVFYd2sYc5xzkve1b8zCDfxj2mbmRYETYSidHZLaDilq6iKtWWSX+mnTXqJ2gIj+J7pfFBOHskWglnrVdj93AOdpG6cmnvzE7ey8SrMt9t0GzmRFAvjP3slio8NTsI97fu3isF0phGoh8q9tGGRnRMDq3E33zzntT3jawtWiib9ZCxuJ8Zhwc1fIF07YfBJ+sZJ7Kau1205NFJtISGbVhVmpD9kQdoFwYQxYJuvPcDYyIYH/K86bYnBmJWRCwbTh7Es7DCCC90VY/yMjRNoYvjupjhuHKGXE8O/Y8weERZ+GuZ8BSxFwU81YK9mcQyw+Z+MdAFsZEhR7cpxRkty2INKxOdX8wJGVw3A1cInwuiBjLiED0ndh39RqJbE8DUQAJgngSbYK52rCadjhs2xf+tPiDatsDMAHU2DpyDcz,iv:Dh9hhr1mp+gXA1eUvsJVb5opbaEtdRMKAd4HQSQlOpc=,tag:k4M96tstNATvyFe6xF2IzQ==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k
SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz
ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-10-05T19:05:15Z"
mac: ENC[AES256_GCM,data:8xMV6RkmXpt2uY07E+59ZXwTwTL6oqo9j5sFOxejwnFU06MGW9t1h/5HFg+GKpp3Jj1LT6a7uuyip6bDGCMEhI054sTv2uDlOIFd4nbHwOh+keEH/FLa8csTq4yyisROsaXUUCtWxraGXz0MQXT8xlQMT7Pn0x43JssmPhOwrRo=,iv:JKNsroIAxvV5V23at/DsDdud5idVn5IEQHrgeFHR3fQ=,tag:XY0hikk4yvqfynPI8q+GBg==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.7.3

View file

@ -1,30 +0,0 @@
{
description = "C Flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, flake-utils, nixpkgs }:
flake-utils.lib.eachDefaultSystem (system:
let
lib = import lib;
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
cmake
gcc
gnumake
valgrind
# You might want to use your own IDE.
(jetbrains.plugins.addPlugins jetbrains.clion [ "github-copilot" ])
];
};
});
}

View file

@ -1,26 +0,0 @@
{
description = "Java Flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem
( system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
jdk8
openjdk17
# You might want to use your own IDE.
(jetbrains.plugins.addPlugins jetbrains.idea-ultimate [ "github-copilot" ])
];
};
});
}

View file

@ -1,24 +0,0 @@
{
description = "LaTeX Flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils}:
flake-utils.lib.eachDefaultSystem
(system:
let
pkgs = import nixpkgs {
inherit system;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
texlive.combined.scheme-full
pgfplots
biber
];
};
}
);
}

View file

@ -36,18 +36,16 @@ in {
}; };
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
corefonts # Calibri for Uni corefonts # Calibri for Uni
font-awesome # Dependency of Vifm & zsh config font-awesome # Dependency of Vifm & zsh config
letter # Personal font letter # Personal font
noto-fonts-cjk # Dependency of Zellij config noto-fonts-cjk # Dependency of Zellij config
noto-fonts # Dependency of Zellij config noto-fonts # Dependency of Zellij config
noto-fonts-color-emoji # Emoji's! vistafonts # Microsoft fonts
vistafonts # Microsoft fonts
]; ];
sisyphus = { sisyphus = {
programs.spotify-adblock.enable = true; programs.spotify-adblock.enable = true;
services.remEYEnder.enable = true;
}; };
home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable { home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable {
@ -61,21 +59,20 @@ in {
packages = (with pkgs; [ packages = (with pkgs; [
cmdtime # Zsh plugin cmdtime # Zsh plugin
icosystem # Personal icon theme icosystem # Personal icon theme
nextcloud-client
spotify-adblock spotify-adblock
]) ++ (with pkgs-unstable; [ ]) ++ (with pkgs-unstable; [
brave brave
chafa # Terminal image viewer chafa # Terminal image viewer
duf # Df alternative duf # Df alternative
feishin # Jellyfin music client
foot foot
fzf fzf
glow # Terminal Markdown renderer glow # Terminal Markdown renderer
jellyfin-media-player jellyfin-media-player
libreoffice-fresh # Office tools kitty
# FIXME Waiting for electron version to update, now insecure. libreoffice-fresh
# logseq # Note taking logseq
mpv # Media player mpv
nextcloud-client
nsxiv # Lightweight image viewer nsxiv # Lightweight image viewer
qalculate-gtk # Calculator qalculate-gtk # Calculator
spotify spotify
@ -88,13 +85,11 @@ in {
zsh-syntax-highlighting zsh-syntax-highlighting
# SMB # SMB
cifs-utils cifs-utils psmisc
psmisc
# Linters and LSPs # Linters and LSPs
statix # Nix statix # Nix
# TODO Move to devshells ruff pylint # Python
# ruff pylint # Python
]); ]);
pointerCursor = { pointerCursor = {
@ -136,14 +131,6 @@ in {
cursorTheme = cursor; cursorTheme = cursor;
}; };
services.syncthing = {
enable = true;
extraOptions = [
"--no-default-folder"
];
tray.enable = true;
};
xdg = { xdg = {
desktopEntries.spotify = { desktopEntries.spotify = {
name = "Spotify"; name = "Spotify";

View file

@ -72,14 +72,14 @@ in {
".config/zellij" = { ".config/zellij" = {
source = ../../../stow/zellij/.config/zellij; source = ../../../stow/zellij/.config/zellij;
}; };
".gnupg" = { ".oh-my-zsh" = {
inherit (config.programs.gnupg.agent) enable; enable = config.users.users.tdpeuter.shell == pkgs.zsh;
source = ../../../stow/gnupg/.gnupg; source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
recursive = true; recursive = true;
# onChange = '' };
# chmod 700 /home/tdpeuter/.gnupg ".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
# chmod 600 /home/tdpeuter/.gnupg/* 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 { ".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
inherit (config.sisyphus.programs.ssh) enable; inherit (config.sisyphus.programs.ssh) enable;
@ -97,15 +97,6 @@ in {
}; };
} }
(lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) { (lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) {
".oh-my-zsh" = {
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
recursive = true;
};
".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;
};
".zshrc" = { ".zshrc" = {
source = ../../../stow/zsh/.zshrc; source = ../../../stow/zsh/.zshrc;
}; };

View file

@ -47,17 +47,6 @@ in {
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ]; definedAliases = [ "@np" ];
}; };
"NixOS Options" = {
urls = [{
template = "https://search.nixos.org/options";
params = [
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@no" ];
};
"GitHub" = { "GitHub" = {
urls = [{ urls = [{
template = "https://github.com/search"; template = "https://github.com/search";

View file

@ -7,14 +7,9 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable ( sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable (
let let
HomeLab = { Hugo = {
format = "yaml"; format = "yaml";
sopsFile = ../../secrets/HomeLab.yaml; sopsFile = ../../secrets/Hugo.yaml;
owner = user;
};
personal = {
format = "yaml";
sopsFile = ../../secrets/personal.yaml;
owner = user; owner = user;
}; };
UGent = { UGent = {
@ -23,18 +18,17 @@ in {
owner = user; owner = user;
}; };
in { in {
"Hugo/ssh" = Hugo;
"UGent/HPC/ssh" = UGent; "UGent/HPC/ssh" = UGent;
# Git authentication "GitHub/ssh" = {
"Gitea/ssh" = personal; format = "yaml";
"GitHub/ssh" = personal; sopsFile = ../../secrets/GitHub.yaml;
owner = user;
};
"Hugo/Gitea/ssh" = Hugo;
"UGent/GitHub/ssh" = UGent; "UGent/GitHub/ssh" = UGent;
"UGent/SubGit/ssh" = UGent; "UGent/SubGit/ssh" = UGent;
# HomeLab
"HomeLab/Gitea/ssh" = HomeLab;
"HomeLab/Hugo/ssh" = HomeLab;
"HomeLab/Nextcloud/ssh" = HomeLab;
}); });
}; };
} }

View file

@ -30,10 +30,6 @@ declare -A wallpaper
wallpaper[${THEME_LIGHT}]="bg-light" wallpaper[${THEME_LIGHT}]="bg-light"
wallpaper[${THEME_DARK}]="bg-dark" wallpaper[${THEME_DARK}]="bg-dark"
declare -A icon
icon[${THEME_LIGHT}]="\uf185"
icon[${THEME_DARK}]="\uf186"
############# #############
### Logic ### ### Logic ###
############# #############
@ -52,14 +48,14 @@ while getopts ":m:g" option; do
fi fi
;; ;;
g) g)
current_state="$(cat "${STATE_FILE}")" previous_theme="$(cat ${STATE_FILE})"
next_state="${theme_next[${current_state}]}" if [ "${previous_theme}" == "${THEME_LIGHT}" ]; then
if [ "${current_state}" == "${THEME_DARK}" ]; then
class="activated" class="activated"
percentage=100 percentage=1
else
percentage=0
fi fi
printf '{"text": "%s", "alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \ printf '{ "class": "%s", "percentage": %d }' "${class}" "${percentage}"
"${icon[${next_state}]}" "${gsettings_alt[${next_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}"
exit 0 exit 0
;; ;;
*) *)
@ -124,7 +120,6 @@ fi
if [ "$(command -v swaybg)" ]; then if [ "$(command -v swaybg)" ]; then
bg_path="${BG_DIR}/${wallpaper[${theme}]}" bg_path="${BG_DIR}/${wallpaper[${theme}]}"
/run/current-system/sw/bin/cp "${bg_path}" "${STATE_DIR}/bg" && swaymsg reload & /run/current-system/sw/bin/cp "${bg_path}" "${STATE_DIR}/bg" && swaymsg reload &
# pkill --signal 13 "waybar" &
fi fi
# Vifm # Vifm

View file

@ -1,3 +1,9 @@
Host Hugo
User admin
HostName 192.168.0.11
IdentitiesOnly yes
IdentityFile /run/secrets/Hugo/ssh
Host HPC Host HPC
User vsc44995 User vsc44995
HostName login.hpc.ugent.be HostName login.hpc.ugent.be
@ -9,7 +15,7 @@ Host git.depeuter.dev
User git User git
HostName git.depeuter.dev HostName git.depeuter.dev
IdentitiesOnly yes IdentitiesOnly yes
IdentityFile /run/secrets/Gitea/ssh IdentityFile /run/secrets/Hugo/Gitea/ssh
Host github.com Host github.com
User git User git
@ -30,21 +36,3 @@ Host subgit.ugent.be
IdentityFile /run/secrets/UGent/SubGit/ssh IdentityFile /run/secrets/UGent/SubGit/ssh
CanonicalizeHostname yes # Ignore capitalization CanonicalizeHostname yes # Ignore capitalization
# HomeLab
Host Gitea
User admin
HostName 192.168.0.24
IdentitiesOnly yes
IdentityFile /run/secrets/HomeLab/Gitea/ssh
Host Hugo
User admin
HostName 192.168.0.11
IdentitiesOnly yes
IdentityFile /run/secrets/HomeLab/Hugo/ssh
Host Nextcloud
User administrator
Hostname 192.168.0.14
IdentitiesOnly yes
IdentityFile /run/secrets/HomeLab/Nextcloud/ssh

View file

@ -1,6 +1,6 @@
input type:keyboard { input type:keyboard {
xkb_layout "us","be" xkb_layout "us"
xkb_variant "altgr-intl","iso-alternate" xkb_variant "altgr-intl"
} }
input type:touchpad { input type:touchpad {

View file

@ -1,8 +1,7 @@
set $notify ~/projects/sisyphus/scripts/notify.sh set $notify ~/projects/sisyphus/scripts/notify.sh
# Focus
bindsym { bindsym {
# Focus
$flag+$up focus up $flag+$up focus up
$flag+$right focus right $flag+$right focus right
$flag+$down focus down $flag+$down focus down
@ -15,8 +14,10 @@ bindsym {
$flag+p focus parent $flag+p focus parent
$flag+space focus mode_toggle $flag+space focus mode_toggle
}
# Move windows # Move windows
bindsym {
$flag+Shift+$up move up $flag+Shift+$up move up
$flag+Shift+$right move right $flag+Shift+$right move right
$flag+Shift+$down move down $flag+Shift+$down move down
@ -31,8 +32,10 @@ bindsym {
$flag+KP_Next move scratchpad $flag+KP_Next move scratchpad
$flag+Prior scratchpad show $flag+Prior scratchpad show
$flag+KP_Prior scratchpad show $flag+KP_Prior scratchpad show
}
# Layouts # Layouts
bindsym {
$flag+z layout toggle split $flag+z layout toggle split
$flag+x layout tabbed $flag+x layout tabbed
$flag+c split h $flag+c split h
@ -206,23 +209,23 @@ bindsym {
-B 'Yes, exit sway' 'swaymsg exit' -B 'Yes, exit sway' 'swaymsg exit'
# Kill focused window # Kill focused window
$flag+q kill $flag+q kill
# Start a terminal # Start a terminal
$flag+Return exec $term $flag+Return exec $term
Control+$alt+t exec $term $alt+space exec $menu
$alt+Tab focus prev
$alt+space exec $menu $flag+Tab exec $window_switcher
$alt+Tab focus prev
$flag+Tab exec $window_switcher
--whole-window $alt+$scrollUp focus prev --whole-window $alt+$scrollUp focus prev
--whole-window $alt+$scrollDown focus next --whole-window $alt+$scrollDown focus next
# Lock the screen # Lock the screen
$flag+Delete exec $lock $flag+Delete exec $lock
# File explorer # File explorer
$flag+e exec $term -e vifm $flag+e exec $term -e vifm
# Internet browser
$flag+i exec firefox
} }
bindgesture { bindgesture {

View file

@ -5,51 +5,42 @@
set $default "default" set $default "default"
# Resizing # Resizing
set $mode_resize "Resize" set $resize "Resize"
bindsym $flag+r mode $mode_resize bindsym $flag+r mode $resize
mode $mode_resize { mode $resize bindsym {
bindsym { $right resize grow width 10 px or 10 ppt
$right resize grow width 10 px or 10 ppt $up resize grow height 10 px or 10 ppt
$up resize grow height 10 px or 10 ppt $left resize shrink width 10 px or 10 ppt
$left resize shrink width 10 px or 10 ppt $down resize shrink height 10 px or 10 ppt
$down resize shrink height 10 px or 10 ppt
Right resize grow width 10 px or 10 ppt Right resize grow width 10 px or 10 ppt
Up resize grow height 10 px or 10 ppt Up resize grow height 10 px or 10 ppt
Left resize shrink width 10 px or 10 ppt Left resize shrink width 10 px or 10 ppt
Down resize shrink height 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+$right resize grow width 50 px or 50 ppt
Shift+$up resize grow height 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+$left resize shrink width 50 px or 50 ppt
Shift+$down resize shrink height 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+Right resize grow width 50 px or 50 ppt
Shift+Up resize grow height 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+Left resize shrink width 50 px or 50 ppt
Shift+Down resize shrink height 50 px or 50 ppt Shift+Down resize shrink height 50 px or 50 ppt
$flag+$right move right $flag+$right move right
$flag+$up move up $flag+$up move up
$flag+$left move left $flag+$left move left
$flag+$down move down $flag+$down move down
$flag+Right move right $flag+Right move right
$flag+Up move up $flag+Up move up
$flag+Left move left $flag+Left move left
$flag+Down move down $flag+Down move down
$flag+r mode $default Return mode $default
Escape mode $default Escape mode $default
Return mode $default $flag+r 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
}
} }
# System actions # System actions
@ -62,23 +53,9 @@ mode $mode_system bindsym {
r mode $default, exec systemctl reboot r mode $default, exec systemctl reboot
Shift+s mode $default, exec systemctl poweroff -i Shift+s mode $default, exec systemctl poweroff -i
Control+$alt+Delete mode $default
Escape mode $default
Return mode $default Return mode $default
} Escape mode $default
Control+$alt+Delete mode $default
set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification"
bindsym $alt+end mode $mode_preferences
bindsym $alt+KP_End mode $mode_preferences
mode $mode_preferences bindsym {
d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default
s exec "${SCRIPT_DIR}/sunset.sh", mode $default
n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default
$alt+end mode $default
$alt+KP_End mode $default
Escape mode $default
Return mode $default
} }
# Screenshots # Screenshots
@ -95,23 +72,20 @@ mode $mode_screenshot bindsym {
Shift+s exec grimshot --notify save screen $save_format, mode $default Shift+s exec grimshot --notify save screen $save_format, mode $default
Print exec grimshot --notify save screen $save_format, mode $default Print exec grimshot --notify save screen $save_format, mode $default
Escape mode $default
Return mode $default Return mode $default
Escape mode $default
} }
# Launcher set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification"
set $mode_launcher "Launch (f)irefox, (s)potify or (t)hunderbird." bindsym $alt+end mode $mode_preferences
bindsym $flag+o mode $mode_launcher bindsym $alt+KP_End mode $mode_preferences
mode $mode_launcher bindsym { mode $mode_preferences bindsym {
f exec firefox, mode $default d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default
t exec thunderbird, mode $default s exec "${SCRIPT_DIR}/sunset.sh", mode $default
n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default
$flag+o mode $default Return mode $default
Escape mode $default Escape mode $default
Return mode $default $alt+end mode $default
$alt+KP_End mode $default
} }
# Ignore (all) keybinds. Useful when working with Virtual Machines.
set $mode_ignore "Ignore keybinds - Press Control+Alt+Insert to escape."
bindsym Control+$alt+Insert mode $mode_ignore
mode $mode_ignore bindsym Control+$alt+Insert mode $default

View file

@ -8,10 +8,8 @@ indicator-radius=200
clock clock
datestr=%A, %B %d %Y datestr=%A, %B %d %Y
show-failed-attempts
screenshots screenshots
effect-pixelate=10 effect-blur=5x5
effect-vignette=0.75:0 # Darken the whole screen. effect-vignette=0.75:0 # Darken the whole screen.
fade-in=0.25 fade-in=0.25
@ -20,35 +18,25 @@ grace-no-mouse
# Styling # Styling
color=000000 # The default background color when no image could be loaded
font=letter extended font=letter extended
text-color=ffffff text-color=ffffff
text-clear-color=ffffff text-clear-color=ffffff
text-caps-lock-color=ffffff text-wrong-color=eb4d4b
text-wrong-color=bd2024
layout-text-color=ffffff
# Make all the other stuff invisible # Make all the other stuff invisible
inside-color=00000000
inside-clear-color=00000000
inside-caps-lock-color=00000000
inside-ver-color=00000000
inside-wrong-color=00000000
key-hl-color=00000000 key-hl-color=00000000
layout-bg-color=00000000 separator-color=00000000
layout-border-color=00000000
line-color=00000000
line-clear-color=00000000
line-caps-lock-color=00000000
line-ver-color=00000000
line-wrong-color=00000000
ring-color=00000000 ring-color=00000000
ring-clear-color=00000000 ring-clear-color=00000000
ring-caps-lock-color=00000000
ring-ver-color=00000000 ring-ver-color=00000000
ring-wrong-color=00000000 ring-wrong-color=00000000
separator-color=00000000 line-color=00000000
line-clear-color=00000000
line-ver-color=00000000
line-wrong-color=00000000
inside-color=00000000
inside-clear-color=00000000
inside-ver-color=00000000
inside-wrong-color=00000000
text-ver-color=00000000 text-ver-color=00000000

View file

@ -82,9 +82,6 @@ Plug 'prabirshrestha/vim-lsp'
Plug 'sheerun/vim-polyglot' Plug 'sheerun/vim-polyglot'
Plug 'vifm/vifm.vim' Plug 'vifm/vifm.vim'
" Coq
Plug 'whonore/Coqtail'
call plug#end() call plug#end()
" }}} " }}}

View file

@ -19,9 +19,9 @@
"include": [ "include": [
// Import modules (!) // Import modules (!)
"./modules.json", "~/.config/waybar/modules.json",
// "./default.json" // "~/.config/waybar/default.json"
"./left.json" "~/.config/waybar/left.json"
], ],
}, },
@ -30,13 +30,13 @@
"name": "keep", "name": "keep",
"position": "top", "position": "top",
"height": 25, "height": 25,
"modules-left": ["sway/mode"], "modules-left": ["sway/mode", "keyboard-state"],
"modules-center": ["clock"], "modules-center": ["clock"],
"modules-right": ["privacy", "keyboard-state"], "modules-right": ["privacy"],
"include": [ "include": [
// Import modules (!) // Import modules (!)
"./modules.json" "~/.config/waybar/modules.json"
], ],
}] }]

View file

@ -2,15 +2,17 @@
"modules-left": [ "modules-left": [
"sway/workspaces", "sway/workspaces",
"custom/scratchpad-indicator", "custom/scratchpad-indicator",
"group/system" "mpris",
"group/system",
], ],
"modules-right": [ "modules-right": [
"tray", "group/hardware",
"sway/language", "custom/sep",
"bluetooth", "bluetooth",
"network", "network",
"pulseaudio", "pulseaudio",
"group/battery", "battery",
"mpris" "custom/sep",
"tray"
] ]
} }

View file

@ -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;
}

View file

@ -20,14 +20,13 @@
}, },
"bluetooth": { "bluetooth": {
/* bluetooth-b */
"format-disabled": "<big>\uf294</big>", "format-disabled": "<big>\uf294</big>",
"format-off": "\uf294", "format-off": "\uf294",
"format-on": "<big>\uf294</big>", "format-on": "<big>\uf294</big>",
"format-connected": "<big>\uf294</big>c", "format-connected": "<big>\uf294</big>c",
"max-length": 10.3, "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": "bluetoothctl power $( bluetoothctl show | sed -n 's/\\s*Powered: \\(yes\\|no\\)/\\1/p' | sed 's/yes/off/;s/no/on/' )",
"on-click-right": "foot -e bluetoothctl", "on-click-right": "kitty -e bluetoothctl",
"tooltip-format": "{status}", "tooltip-format": "{status}",
"tooltip-format-on": "{status}, no devices connected", "tooltip-format-on": "{status}, no devices connected",
"tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}", "tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}",
@ -37,20 +36,9 @@
"clock": { "clock": {
"format": "{:%H:%M}", "format": "{:%H:%M}",
"format-alt": "{:%a %b %d, %Y %R}", "format-alt": "{:%d/%m/%Y %H:%M}",
"timezone": "Europe/Brussels", "timezone": "Europe/Brussels",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
"calendar": {
"mode-mon-col": 3,
"on-scroll": 1,
"format": {
/* Highlight today's date. */
"today": "<span background='#ffffff' color='#000000'><b>{}</b></span>"
}
},
"actions": {
"on-click": "mode"
}
}, },
"custom/browser": { "custom/browser": {
@ -59,11 +47,26 @@
"tooltip-format": "Launch an application" "tooltip-format": "Launch an application"
}, },
"custom/light-dark-toggle": {
"on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh",
"tooltip-format": "Toggle between light and dark mode",
"format": "\uf042 ",
"tooltip": true
},
"custom/night-light-toggle": {
"on-click": "bash ${SCRIPT_DIR}/sunset.sh",
"tooltip-format": "Toggle night-light on or off",
"format": "\uf0eb ",
"tooltip": true,
"tooltip-format": "Toggle night-light on or off",
},
"custom/scratchpad-indicator": { "custom/scratchpad-indicator": {
"interval": 3, "interval": 3,
"return-type": "json", "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'", "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": "exec swaymsg 'scratchpad show'",
"on-click-right": "exec swaymsg 'move scratchpad'" "on-click-right": "exec swaymsg 'move scratchpad'"
}, },
@ -103,23 +106,6 @@
"on-click": "systemctl poweroff -i" "on-click": "systemctl poweroff -i"
}, },
"custom/toggle-light-dark": {
"exec": "bash ${SCRIPT_DIR}/toggle-light-dark.sh -g",
"signal": 13,
"return-type": "json",
"on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh",
// "format": "\uf042 ",
"format": "{}",
"tooltip": true
},
"custom/toggle-night-light": {
"on-click": "bash ${SCRIPT_DIR}/sunset.sh",
"format": "\uf0eb ",
"tooltip": true,
"tooltip-format": "Toggle night-light on or off"
},
"custom/toggle-notifications": { "custom/toggle-notifications": {
"on-click": "bash ${SCRIPT_DIR}/do-not-disturb.sh", "on-click": "bash ${SCRIPT_DIR}/do-not-disturb.sh",
"tooltip-format": "Toggle notifications", "tooltip-format": "Toggle notifications",
@ -128,34 +114,29 @@
}, },
"cpu": { "cpu": {
"interval": 10,
"format": "{usage}% \uf2db", "format": "{usage}% \uf2db",
"on-click": "foot -e top", "on-click": "foot -e htop",
"tooltip": true "tooltip": true
}, },
"group/battery": { "group/hardware": {
"orientation": "inherit", "orientation": "inherit",
"modules": [ "modules": [
"battery", "power-profiles-daemon",
"custom/sep",
"memory", "memory",
"cpu", "cpu",
"temperature", "temperature",
"custom/sep",
"custom/system-shutdown", "custom/system-shutdown",
"custom/system-reboot", "custom/system-reboot",
"custom/system-hibernate", "custom/system-hibernate",
"custom/system-sleep", "custom/system-sleep",
"custom/system-lock", "custom/system-lock",
"custom/sep",
"power-profiles-daemon",
], ],
"drawer": { "drawer": {
"transition-duration": 500, "transition-duration": 500,
"transition-left-to-right": false, "transition-left-to-right": false,
"children-class": "drawer-child" "children-class": "drawer-child",
} },
}, },
"group/system": { "group/system": {
@ -164,13 +145,13 @@
"idle_inhibitor", "idle_inhibitor",
"custom/light-dark-toggle", "custom/light-dark-toggle",
"custom/night-light-toggle", "custom/night-light-toggle",
"custom/toggle-notifications" "custom/toggle-notifications",
], ],
"drawer": { "drawer": {
"transition-duration": 500, "transition-duration": 500,
"tansition-left-to-right": true, "tansition-left-to-right": true,
"children-class": "drawer-child" "children-class": "drawer-child",
} },
}, },
"idle_inhibitor": { "idle_inhibitor": {
@ -184,7 +165,7 @@
"keyboard-state": { "keyboard-state": {
"format": { "format": {
"capslock": "{icon}" "capslock": "{icon}",
}, },
"format-icons": { "format-icons": {
"locked": "\uf023", "locked": "\uf023",
@ -192,7 +173,7 @@
}, },
"numlock": false, "numlock": false,
"capslock": true, "capslock": true,
"scrollock": false "scrollock": false,
}, },
"memory": { "memory": {
@ -217,27 +198,20 @@
"title", "title",
"artist" "artist"
], ],
"dynamic-len": 40 "dynamic-len": 40,
}, },
"network": { "network": {
"format-disconnected": "\uf127", "format-disconnected": "\uf127",
"format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}", /* network-wired */ "format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}",
"format-wifi": "\uf1eb", /* wifi */ "format-wifi": "\uf1eb",
"interval": 5, "interval": 5,
"on-click-right": "foot -e nmtui", "on-click-right": "kitty -e nmtui",
"tooltip-format": "{ifname}: {ipaddr}", "tooltip-format": "{ifname}: {ipaddr}",
"tooltip-format-disconnected": "Disconnected", "tooltip-format-disconnected": "Disconnected",
"tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}" "tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}"
}, },
"sway/language": {
"format": "{short}",
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
"tooltip-format": "Switch keyboard layouts",
"tooltip": true
},
"sway/window": { "sway/window": {
"max-length": 85 "max-length": 85
}, },
@ -247,9 +221,7 @@
"disable-scroll": true, "disable-scroll": true,
"format": "{icon}{name}", "format": "{icon}{name}",
"format-icons": { "format-icons": {
//"default": "\uf111", "default": "", // Prevent showing workspace name literal.
"default": "",
//"focused": "\uf192",
"urgent": "\uf071 " "urgent": "\uf071 "
}, },
// "persistent_workspaces": { // "persistent_workspaces": {
@ -263,9 +235,9 @@
"tooltip": true, "tooltip": true,
"format-icons": { "format-icons": {
"default": "", "default": "",
"performance": "\uf135", "performance": "",
"balanced": "", "balanced": "",
"power-saver": "\uf06c" "power-saver": ""
} }
}, },
@ -289,43 +261,32 @@
"pulseaudio": { "pulseaudio": {
"format": "{volume}% {icon}{format_source}", "format": "{volume}% {icon}{format_source}",
"format-muted": "\uf6a9{format_source}", /* volume-xmark */ "format-muted": "\uf6a9{format_source}",
"format-bluetooth": "{volume}% {icon}\uf294{format_source}", "format-bluetooth": "{volume}% {icon}\uf294{format_source}",
"format-bluetooth-muted": "\uf6a9 {icon}\uf294{format_source}", "format-bluetooth-muted": "\uf6a9 {icon}\uf294{format_source}",
"format-source": " {volume}% \uf130", "format-source": " {volume}% \uf130",
"format-source-muted": "", "format-source-muted": "",
"format-icons": { "format-icons": {
"headphone": "\uf58f", /* headphones-simple */ "headphone": "\uf58f",
"hands-free": "\uf590", /* headset */ "hands-free": "\uf590",
"headset": "\uf590", /* headset */ "headset": "\uf590",
"phone": "\uf3ce", /* mobile */ "phone": "\uf3ce",
"portable": "\uf3ce", /* mobile */ "portable": "\uf3ce",
"car": "\uf1b9", /* car */ "car": "\uf1b9",
"default": [ "default": ["\uf026", "\uf027", "\uf028 "]
"\uf026", /* volume-off */
"\uf027", /* volume-low */
"\uf028" /* volume-high */
]
}, },
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle", "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-click-right": "pavucontrol", "on-click-right": "pavucontrol",
"scroll-step": -2 "scroll-step": 2
}, },
"temperature": { "temperature": {
"critical-threshold": 75, "critical-threshold": 70,
"format": "{temperatureC}°C {icon}", "format": "{temperatureC}°C {icon}",
"format-icons": [ "format-icons": ["\uf2cb", "\uf2c9", "\uf2c7"]
"\uf2cb", /* temperature-empty */
"\uf2ca", /* temperature-quarter */
"\uf2c9", /* temperature-half */
"\uf2c8", /* temperature-three-quarters */
"\uf2c7" /* temperature-full */
]
}, },
"tray": { "tray": {
"show-passive-items": true,
"spacing": 10 "spacing": 10
} }
} }

View file

@ -1,10 +0,0 @@
@define-color foreground rgb( 3, 3, 3);
@define-color background rgb(202, 202, 202);
@define-color highlight-background alpha(@foreground, 0.4);
* {
color: @foreground;
font-family: letter, "Font Awesome 6 Free", font-awesome, monospace;
}

View file

@ -1,10 +0,0 @@
@define-color foreground rgb(202, 202, 202);
@define-color background rgb( 3, 3, 3);
@define-color highlight-background alpha(@foreground, 0.4);
* {
color: @foreground;
background-color: red;
}

View file

@ -9,41 +9,72 @@
* - round.css * - round.css
*/ */
@import "modern.css"; @define-color transparent-black rgba(23, 23, 23, 0.9);
@define-color white #ecf0f1;
@define-color warning-red #eb4d4b;
@define-color accent #00897b;
#disk, window#waybar {
font-family: letter, "Font Awesome 6 Free", font-awesome, monospace;
font-size: 13px;
-webkit-font-smoothing: antialiased;
transition-property: background-color;
transition-duration: .5s;
}
#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, #bluetooth,
#clock, #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, #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, #idle_inhibitor,
#keyboard-state, #keyboard-state,
#memory, #memory,
#mode,
#mpd,
#mpris, #mpris,
#network, #network,
#sway-language,
#sway-window,
#power-profiles-daemon, #power-profiles-daemon,
#privacy, #privacy-item.audio-in, #privacy-item.audio-out, #privacy-item.screenshare,
#pulseaudio, #pulseaudio,
#temperature, #temperature,
#tray { #tray {
padding: 0 4px; padding: 0 5px;
}
/* FIXME */
#battery {
padding: 0 0 0 4px;
}
#window,
#workspaces {
margin: 0 4px;
} }
/* If workspaces is the leftmost module, omit left margin */ /* If workspaces is the leftmost module, omit left margin */
@ -56,6 +87,19 @@
margin-right: 0; margin-right: 0;
} }
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
label:focus {
background-color: #000000;
}
/* Module specific colours */
#battery.charging, #battery.plugged { #battery.charging, #battery.plugged {
color: #ffffff; color: #ffffff;
background-color: #26A65B; background-color: #26A65B;
@ -78,32 +122,27 @@
opacity: 0.6; opacity: 0.6;
} }
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpris { #mpris {
color: #ecf0f1; color: #2a5c45;
min-width: 100px; min-width: 100px;
} }
#mpris.spotify { #mpris.spotify {
background-color: #66cc99; background-color: #66cc99;
color: #2a5c45;
} }
#mpris.vlc { #mpris.vlc {
background-color: #ffa000; background-color: #ffa000;
} }
#mpris.Feishin { #temperature.critical {
background: rgb(170,92,195); background-color: #eb4d4b;
background: linear-gradient(90deg, rgba(170,92,195,1) 0%, rgba(0,164,220,1) 100%);
} }
#temperature.critical { #custom_light-dark-toggle.activated,
background-color: @warning-red; #idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
} }
#tray > .passive { #tray > .passive {
@ -112,34 +151,15 @@
#tray > .needs-attention { #tray > .needs-attention {
-gtk-icon-effect: highlight; -gtk-icon-effect: highlight;
background-color: @warning-red; background-color: #eb4d4b;
} }
#workspaces button.focused { #privacy-item.audio-in,
box-shadow: none; #privacy-item.audio-out,
#privacy-item.screenshare {
background-color: #ffaa01;
color: #2d3436;
} }
button { @import "sharp.css";
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
box-shadow: none;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
box-shadow: none;
}
label:focus {
background-color: #000000;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}

View file

@ -54,12 +54,8 @@ alias free='free -m'
alias gs='git status' alias gs='git status'
alias hgrep='history | grep' alias hgrep='history | grep'
alias ll='ls -la' alias ll='ls -la'
alias mkdir='mkdir -pv'
alias more='less' alias more='less'
alias mv='mv -i'
alias np='nano -w PKGBUILD' alias np='nano -w PKGBUILD'
alias rm='rm -I --preserve-root'
alias zip='zip -r'
alias update='pushd ~/projects/sisyphus/nixos alias update='pushd ~/projects/sisyphus/nixos
nix flake update nix flake update
sudo nixos-rebuild switch --flake .# --show-trace sudo nixos-rebuild switch --flake .# --show-trace