Compare commits

..

24 commits
main ... sync

Author SHA1 Message Date
aeb8f52d6d
Sync 2024-11-10 20:18:46 +01:00
31a4c4060a
chore(docker): Add users to group 2024-10-25 16:17:58 +02:00
ade31510a8
chore: Refresh pkgs 2024-10-24 16:02:38 +02:00
b25f1f9f4b
feat(vim): Add Coq support 2024-10-24 15:29:38 +02:00
bdef46f0b2
chore: Upstream option renames 2024-10-24 15:28:36 +02:00
531fae0bb0
chore(sway): Add secondary terminal keybind 2024-10-19 14:46:38 +02:00
d1379cdf99
feat(ssh): Add Nextcloud secrets 2024-10-19 14:46:21 +02:00
0fa8782abb
[virtualbox] Remove custom pkg 2024-10-13 17:54:49 +02:00
58f2686097
[swaylock] Set default black background.
Avoid flashbangs
2024-10-07 09:48:40 +02:00
412932d20d
[sway] Switch fr to be keyboard layout 2024-09-29 20:15:09 +02:00
c9c36843ae
[swaylock] Configure keyboard layout 2024-09-29 13:08:37 +02:00
b14b9392fe
[waybar] chore: Hide power management under battery 2024-09-25 18:43:21 +02:00
0ef21309f4
[waybar] fix: Reverse volume scroll 2024-09-25 18:42:31 +02:00
8ad66eab07
[waybar] chore: Fix commas 2024-09-25 18:41:51 +02:00
0435852106
[waybar] feat: Add keyboard-layout toggle 2024-09-25 18:40:54 +02:00
5fdf52e0dc
[remEYEnder] Add icon 2024-09-19 15:56:13 +02:00
dc8fa78220
Clean up NixFat hardware config 2024-09-19 15:31:50 +02:00
b27b60a01b
[zsh] Add common aliases 2024-09-19 15:30:17 +02:00
a113c47eac
[remEYEnder] Add module 2024-09-19 15:29:55 +02:00
4c8d6dfc27
[sway] Add package for mirroring 2024-09-05 17:26:10 +02:00
8f5c38f525
[firefox] Add NixOS Options search 2024-09-05 17:12:54 +02:00
40f4ac6e12
[sway] Add ignore mode 2024-09-05 17:11:52 +02:00
f9b9424b29 colors 2024-06-21 16:11:01 +02:00
749e18793d
[nvidia] Add comments 2024-06-21 08:56:09 +02:00
42 changed files with 10833 additions and 414 deletions

177
colors.sh Normal file
View file

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

View file

@ -5,17 +5,13 @@
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";
@ -33,7 +29,7 @@
outputs = inputs@{ outputs = inputs@{
self, nixpkgs, nixpkgs-unstable, self, nixpkgs, nixpkgs-unstable,
devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils, 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 = { services.xserver.xkb = {
layout = "us"; layout = "us";
xkbVariant = "altgr-intl"; variant = "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,6 +80,7 @@
programs = { programs = {
zsh.enable = true; zsh.enable = true;
steam.enable = true;
}; };
hardware.bluetooth = { hardware.bluetooth = {
@ -87,7 +88,10 @@
powerOnBoot = false; powerOnBoot = false;
}; };
networking.hostName = "Tibo-NixFat"; networking = {
hostName = "Tibo-NixFat";
networkmanager.wifi.powersave = true;
};
services = { services = {
# Handle the laptop lid switch as follows: # Handle the laptop lid switch as follows:
@ -105,6 +109,8 @@
# Touchpad # Touchpad
libinput.enable = true; libinput.enable = true;
thermald.enable = true;
}; };
system.stateVersion = "24.05"; system.stateVersion = "24.05";

View file

@ -8,22 +8,33 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot = {
boot.initrd.kernelModules = [ ]; initrd = {
boot.kernelModules = [ "kvm-intel" ]; availableKernelModules = [
boot.extraModulePackages = [ ]; "xhci_pci"
"nvme"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
kernelModules = [ ];
luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81";
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
fileSystems."/" = { fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIX-ROOT"; device = "/dev/disk/by-label/NIX-ROOT";
fsType = "ext4"; fsType = "ext4";
}; };
boot.initrd.luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81"; "/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 = [
{ device = "/dev/disk/by-label/SWAP"; } { device = "/dev/disk/by-label/SWAP"; }

View file

@ -65,14 +65,17 @@ 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
@ -105,6 +108,8 @@ in {
source-han-serif-japanese source-han-serif-japanese
]; ];
hardware.opengl.enable = true;
security.polkit.enable = true; security.polkit.enable = true;
services = { services = {
@ -139,11 +144,16 @@ in {
extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
}; };
programs.sway = { programs = {
sway = {
enable = true; enable = true;
package = pkgs.swayfx;
wrapperFeatures.gtk = true; wrapperFeatures.gtk = true;
}; };
waybar.enable = true;
};
sisyphus.users.wantedGroups = [ sisyphus.users.wantedGroups = [
config.users.groups.video.name # Brightnessctl config.users.groups.video.name # Brightnessctl
]; ];

View file

@ -42,9 +42,12 @@ 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,11 +25,17 @@ in {
]; ];
# Send a notification if the YubiKey is waiting for touch. # Send a notification if the YubiKey is waiting for touch.
systemd.user.services.yubikey-touch-detector = { systemd.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; [ yubikey-touch-detector ]; path = with pkgs; [
script = ''exec yubikey-touch-detector --notify''; gnupg
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,6 +5,7 @@
./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;
nssmdns = true; nssmdns4 = true;
openFirewall = true; openFirewall = true;
}; };
}; };

View file

@ -0,0 +1,35 @@
{ 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.

After

Width:  |  Height:  |  Size: 97 KiB

View file

@ -12,6 +12,11 @@ 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,17 +2,6 @@
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";
@ -21,7 +10,6 @@ in {
host = { host = {
enable = true; enable = true;
enableExtensionPack = true; enableExtensionPack = true;
package = virtualbox-override;
}; };
guest = { guest = {
enable = true; enable = true;

View file

@ -0,0 +1,27 @@
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

View file

@ -1,24 +0,0 @@
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,5 +1,7 @@
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: []
@ -15,8 +17,8 @@ sops:
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2023-09-11T10:23:48Z" lastmodified: "2024-10-19T12:24:38Z"
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] mac: ENC[AES256_GCM,data:g15gV0H0rlzoeN5Z/Zkgh/8ya9GSrWDVP9oqdVz3m4obmquCLDIygsPaYpRXmfOtPSgvX2KzZ08sNLfcBZSh7eH2Ws7xcezWOntOcmAQNz5LvemqP7YuwtivMK/P4qrkME+LQPkSrSUR+rT99Zj+RQXisy91Cq9NbVBj6uQH7+I=,iv:W+oDp5Dun0g35BFprOmgfI0LoPME3HpPuuniCKA32Kc=,tag:CUU74HZuRNedyI3txn9D+g==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.7.3 version: 3.8.1

View file

@ -0,0 +1,30 @@
{
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

@ -0,0 +1,26 @@
{
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

@ -0,0 +1,24 @@
{
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

@ -41,11 +41,13 @@ in {
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 {
@ -59,20 +61,21 @@ 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
kitty libreoffice-fresh # Office tools
libreoffice-fresh # FIXME Waiting for electron version to update, now insecure.
logseq # logseq # Note taking
mpv mpv # Media player
nextcloud-client
nsxiv # Lightweight image viewer nsxiv # Lightweight image viewer
qalculate-gtk # Calculator qalculate-gtk # Calculator
spotify spotify
@ -85,11 +88,13 @@ in {
zsh-syntax-highlighting zsh-syntax-highlighting
# SMB # SMB
cifs-utils psmisc cifs-utils
psmisc
# Linters and LSPs # Linters and LSPs
statix # Nix statix # Nix
ruff pylint # Python # TODO Move to devshells
# ruff pylint # Python
]); ]);
pointerCursor = { pointerCursor = {
@ -131,6 +136,14 @@ 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;
}; };
".oh-my-zsh" = { ".gnupg" = {
enable = config.users.users.tdpeuter.shell == pkgs.zsh; inherit (config.programs.gnupg.agent) enable;
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; source = ../../../stow/gnupg/.gnupg;
recursive = true; recursive = true;
}; # onChange = ''
".oh-my-zsh/themes/tdpeuter.zsh-theme" = { # chmod 700 /home/tdpeuter/.gnupg
enable = config.users.users.tdpeuter.shell == pkgs.zsh; # chmod 600 /home/tdpeuter/.gnupg/*
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,6 +97,15 @@ 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,6 +47,17 @@ 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,9 +7,14 @@ 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
Hugo = { HomeLab = {
format = "yaml"; format = "yaml";
sopsFile = ../../secrets/Hugo.yaml; sopsFile = ../../secrets/HomeLab.yaml;
owner = user;
};
personal = {
format = "yaml";
sopsFile = ../../secrets/personal.yaml;
owner = user; owner = user;
}; };
UGent = { UGent = {
@ -18,17 +23,18 @@ in {
owner = user; owner = user;
}; };
in { in {
"Hugo/ssh" = Hugo;
"UGent/HPC/ssh" = UGent; "UGent/HPC/ssh" = UGent;
"GitHub/ssh" = { # Git authentication
format = "yaml"; "Gitea/ssh" = personal;
sopsFile = ../../secrets/GitHub.yaml; "GitHub/ssh" = personal;
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,6 +30,10 @@ 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 ###
############# #############
@ -48,14 +52,14 @@ while getopts ":m:g" option; do
fi fi
;; ;;
g) g)
previous_theme="$(cat ${STATE_FILE})" current_state="$(cat "${STATE_FILE}")"
if [ "${previous_theme}" == "${THEME_LIGHT}" ]; then next_state="${theme_next[${current_state}]}"
if [ "${current_state}" == "${THEME_DARK}" ]; then
class="activated" class="activated"
percentage=1 percentage=100
else
percentage=0
fi fi
printf '{ "class": "%s", "percentage": %d }' "${class}" "${percentage}" printf '{"text": "%s", "alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \
"${icon[${next_state}]}" "${gsettings_alt[${next_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}"
exit 0 exit 0
;; ;;
*) *)
@ -120,6 +124,7 @@ 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,9 +1,3 @@
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
@ -15,7 +9,7 @@ Host git.depeuter.dev
User git User git
HostName git.depeuter.dev HostName git.depeuter.dev
IdentitiesOnly yes IdentitiesOnly yes
IdentityFile /run/secrets/Hugo/Gitea/ssh IdentityFile /run/secrets/Gitea/ssh
Host github.com Host github.com
User git User git
@ -36,3 +30,21 @@ 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" xkb_layout "us","be"
xkb_variant "altgr-intl" xkb_variant "altgr-intl","iso-alternate"
} }
input type:touchpad { input type:touchpad {

View file

@ -1,7 +1,8 @@
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
@ -14,10 +15,8 @@ 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
@ -32,10 +31,8 @@ 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
@ -212,6 +209,8 @@ bindsym {
$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+space exec $menu
$alt+Tab focus prev $alt+Tab focus prev
$flag+Tab exec $window_switcher $flag+Tab exec $window_switcher
@ -224,8 +223,6 @@ bindsym {
# 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,9 +5,10 @@
set $default "default" set $default "default"
# Resizing # Resizing
set $resize "Resize" set $mode_resize "Resize"
bindsym $flag+r mode $resize bindsym $flag+r mode $mode_resize
mode $resize bindsym { mode $mode_resize {
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
@ -38,9 +39,17 @@ mode $resize bindsym {
$flag+Left move left $flag+Left move left
$flag+Down move down $flag+Down move down
Return mode $default
Escape mode $default
$flag+r mode $default $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
}
} }
# System actions # System actions
@ -53,9 +62,23 @@ 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
Return mode $default
Escape mode $default
Control+$alt+Delete mode $default Control+$alt+Delete mode $default
Escape mode $default
Return 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
@ -72,20 +95,23 @@ 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
Return mode $default
Escape mode $default Escape mode $default
Return mode $default
} }
set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification" # Launcher
bindsym $alt+end mode $mode_preferences set $mode_launcher "Launch (f)irefox, (s)potify or (t)hunderbird."
bindsym $alt+KP_End mode $mode_preferences bindsym $flag+o mode $mode_launcher
mode $mode_preferences bindsym { mode $mode_launcher bindsym {
d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default f exec firefox, mode $default
s exec "${SCRIPT_DIR}/sunset.sh", mode $default t exec thunderbird, mode $default
n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default
Return mode $default $flag+o mode $default
Escape mode $default Escape mode $default
$alt+end mode $default Return 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,8 +8,10 @@ indicator-radius=200
clock clock
datestr=%A, %B %d %Y datestr=%A, %B %d %Y
show-failed-attempts
screenshots screenshots
effect-blur=5x5 effect-pixelate=10
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
@ -18,25 +20,35 @@ 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-wrong-color=eb4d4b text-caps-lock-color=ffffff
text-wrong-color=bd2024
layout-text-color=ffffff
# Make all the other stuff invisible # Make all the other stuff invisible
key-hl-color=00000000
separator-color=00000000
ring-color=00000000
ring-clear-color=00000000
ring-ver-color=00000000
ring-wrong-color=00000000
line-color=00000000
line-clear-color=00000000
line-ver-color=00000000
line-wrong-color=00000000
inside-color=00000000 inside-color=00000000
inside-clear-color=00000000 inside-clear-color=00000000
inside-caps-lock-color=00000000
inside-ver-color=00000000 inside-ver-color=00000000
inside-wrong-color=00000000 inside-wrong-color=00000000
key-hl-color=00000000
layout-bg-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-clear-color=00000000
ring-caps-lock-color=00000000
ring-ver-color=00000000
ring-wrong-color=00000000
separator-color=00000000
text-ver-color=00000000 text-ver-color=00000000

View file

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

View file

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

View file

@ -0,0 +1,80 @@
@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,13 +20,14 @@
}, },
"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": "kitty -e bluetoothctl", "on-click-right": "foot -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}",
@ -36,9 +37,20 @@
"clock": { "clock": {
"format": "{:%H:%M}", "format": "{:%H:%M}",
"format-alt": "{:%d/%m/%Y %H:%M}", "format-alt": "{:%a %b %d, %Y %R}",
"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": {
@ -47,26 +59,11 @@
"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'"
}, },
@ -106,6 +103,23 @@
"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",
@ -114,29 +128,34 @@
}, },
"cpu": { "cpu": {
"interval": 10,
"format": "{usage}% \uf2db", "format": "{usage}% \uf2db",
"on-click": "foot -e htop", "on-click": "foot -e top",
"tooltip": true "tooltip": true
}, },
"group/hardware": { "group/battery": {
"orientation": "inherit", "orientation": "inherit",
"modules": [ "modules": [
"power-profiles-daemon", "battery",
"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": {
@ -145,13 +164,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": {
@ -165,7 +184,7 @@
"keyboard-state": { "keyboard-state": {
"format": { "format": {
"capslock": "{icon}", "capslock": "{icon}"
}, },
"format-icons": { "format-icons": {
"locked": "\uf023", "locked": "\uf023",
@ -173,7 +192,7 @@
}, },
"numlock": false, "numlock": false,
"capslock": true, "capslock": true,
"scrollock": false, "scrollock": false
}, },
"memory": { "memory": {
@ -198,20 +217,27 @@
"title", "title",
"artist" "artist"
], ],
"dynamic-len": 40, "dynamic-len": 40
}, },
"network": { "network": {
"format-disconnected": "\uf127", "format-disconnected": "\uf127",
"format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}", "format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}", /* network-wired */
"format-wifi": "\uf1eb", "format-wifi": "\uf1eb", /* wifi */
"interval": 5, "interval": 5,
"on-click-right": "kitty -e nmtui", "on-click-right": "foot -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
}, },
@ -221,7 +247,9 @@
"disable-scroll": true, "disable-scroll": true,
"format": "{icon}{name}", "format": "{icon}{name}",
"format-icons": { "format-icons": {
"default": "", // Prevent showing workspace name literal. //"default": "\uf111",
"default": "",
//"focused": "\uf192",
"urgent": "\uf071 " "urgent": "\uf071 "
}, },
// "persistent_workspaces": { // "persistent_workspaces": {
@ -235,9 +263,9 @@
"tooltip": true, "tooltip": true,
"format-icons": { "format-icons": {
"default": "", "default": "",
"performance": "", "performance": "\uf135",
"balanced": "", "balanced": "",
"power-saver": "" "power-saver": "\uf06c"
} }
}, },
@ -261,32 +289,43 @@
"pulseaudio": { "pulseaudio": {
"format": "{volume}% {icon}{format_source}", "format": "{volume}% {icon}{format_source}",
"format-muted": "\uf6a9{format_source}", "format-muted": "\uf6a9{format_source}", /* volume-xmark */
"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", "headphone": "\uf58f", /* headphones-simple */
"hands-free": "\uf590", "hands-free": "\uf590", /* headset */
"headset": "\uf590", "headset": "\uf590", /* headset */
"phone": "\uf3ce", "phone": "\uf3ce", /* mobile */
"portable": "\uf3ce", "portable": "\uf3ce", /* mobile */
"car": "\uf1b9", "car": "\uf1b9", /* car */
"default": ["\uf026", "\uf027", "\uf028 "] "default": [
"\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": 70, "critical-threshold": 75,
"format": "{temperatureC}°C {icon}", "format": "{temperatureC}°C {icon}",
"format-icons": ["\uf2cb", "\uf2c9", "\uf2c7"] "format-icons": [
"\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

@ -0,0 +1,10 @@
@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

@ -0,0 +1,10 @@
@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,72 +9,41 @@
* - round.css * - round.css
*/ */
@define-color transparent-black rgba(23, 23, 23, 0.9); @import "modern.css";
@define-color white #ecf0f1;
@define-color warning-red #eb4d4b;
@define-color accent #00897b;
window#waybar { #disk,
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,
#cpu,
#custom-browser, #custom-browser,
#custom-light-dark-toggle, #custom-scratchpad-indicator,
#custom-night-light-toggle, #custom-system-hibernate, #custom-system-lock, #custom-system-reboot, #custom-system-shutdown, #custom-system-sleep,
#custom-system-lock, #custom-system-sleep, #custom-system-hibernate, #custom-system-reboot, #custom-system-shutdown, #custom-toggle-light-dark,
#custom-toggle-night-light,
#custom-toggle-notifications, #custom-toggle-notifications,
#disk, #cpu,
#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-item.audio-in, #privacy-item.audio-out, #privacy-item.screenshare, #privacy,
#pulseaudio, #pulseaudio,
#temperature, #temperature,
#tray { #tray {
padding: 0 5px; padding: 0 4px;
}
/* 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 */
@ -87,19 +56,6 @@ window#waybar {
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;
@ -122,27 +78,32 @@ label:focus {
opacity: 0.6; opacity: 0.6;
} }
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpris { #mpris {
color: #2a5c45; color: #ecf0f1;
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;
} }
#temperature.critical { #mpris.Feishin {
background-color: #eb4d4b; background: rgb(170,92,195);
background: linear-gradient(90deg, rgba(170,92,195,1) 0%, rgba(0,164,220,1) 100%);
} }
#custom_light-dark-toggle.activated, #temperature.critical {
#idle_inhibitor.activated { background-color: @warning-red;
background-color: #ecf0f1;
color: #2d3436;
} }
#tray > .passive { #tray > .passive {
@ -151,15 +112,34 @@ label:focus {
#tray > .needs-attention { #tray > .needs-attention {
-gtk-icon-effect: highlight; -gtk-icon-effect: highlight;
background-color: #eb4d4b; background-color: @warning-red;
} }
#privacy-item.audio-in, #workspaces button.focused {
#privacy-item.audio-out, box-shadow: none;
#privacy-item.screenshare {
background-color: #ffaa01;
color: #2d3436;
} }
@import "sharp.css"; button {
/* 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,8 +54,12 @@ 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