Compare commits
13 commits
feat/thund
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 23a19015af | |||
| 0b2685f9c0 | |||
| ee26741ec2 | |||
| b9e72e8f92 | |||
| 2a8049a774 | |||
| e92c0b8f45 | |||
| 1de1c15acc | |||
| d24e46da9e | |||
| 61f8b8127c | |||
| d6acc728e9 | |||
| 8923862edc | |||
| c6c570dc1c | |||
| b73c93a31e |
23 changed files with 297 additions and 106 deletions
51
nixos/flake.lock
generated
51
nixos/flake.lock
generated
|
|
@ -25,16 +25,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758463745,
|
"lastModified": 1764736872,
|
||||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
"narHash": "sha256-4mqLegNQeD54X7enm6EI9aNWl6CaIfyhl5PaYoGYwqk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
"rev": "3366918730bb6b699395a9d237397f1d710a94b3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.05",
|
"ref": "release-25.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -62,26 +62,26 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760862643,
|
"lastModified": 1764522689,
|
||||||
"narHash": "sha256-PXwG0TM7Ek87DNx4LbGWuD93PbFeKAJs4FfALtp7Wo0=",
|
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "33c6dca0c0cb31d6addcd34e90a63ad61826b28c",
|
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-25.11",
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760878510,
|
"lastModified": 1764517877,
|
||||||
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
|
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
|
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -163,8 +163,7 @@
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"openconnect-sso": "openconnect-sso",
|
"openconnect-sso": "openconnect-sso",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"utils": "utils",
|
"utils": "utils"
|
||||||
"zen-browser": "zen-browser"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
|
|
@ -174,11 +173,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760998189,
|
"lastModified": 1764483358,
|
||||||
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
|
"narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
|
"rev": "5aca6ff67264321d47856a2ed183729271107c9c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -257,26 +256,6 @@
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"zen-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1761105987,
|
|
||||||
"narHash": "sha256-d01CGcdNlsqIn4ncGCWHM0Velnii/Ggef1iybQvEOfc=",
|
|
||||||
"owner": "youwen5",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"rev": "e7d9fefd8665be5d4c77466140f21a15f6d29e93",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "youwen5",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
||||||
description = "System configuration of my machines using flakes";
|
description = "System configuration of my machines using flakes";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-25.05";
|
nixpkgs.url = "nixpkgs/nixos-25.11";
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
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-25.05";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
openconnect-sso = {
|
openconnect-sso = {
|
||||||
|
|
@ -25,15 +25,11 @@
|
||||||
url = "github:gytis-ivaskevicius/flake-utils-plus";
|
url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
};
|
};
|
||||||
zen-browser = {
|
|
||||||
url = "github:youwen5/zen-browser-flake";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{
|
outputs = inputs@{
|
||||||
self, nixpkgs, nixpkgs-unstable,
|
self, nixpkgs, nixpkgs-unstable,
|
||||||
flake-utils, home-manager, openconnect-sso, sops-nix, utils, zen-browser,
|
flake-utils, home-manager, openconnect-sso, sops-nix, utils,
|
||||||
... }:
|
... }:
|
||||||
let
|
let
|
||||||
system = utils.lib.system.x86_64-linux;
|
system = utils.lib.system.x86_64-linux;
|
||||||
|
|
@ -47,6 +43,7 @@
|
||||||
"vista-fonts"
|
"vista-fonts"
|
||||||
"intel-ocl"
|
"intel-ocl"
|
||||||
"libfprint-2-tod1-broadcom"
|
"libfprint-2-tod1-broadcom"
|
||||||
|
"vmware-workstation"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
utils.lib.mkFlake {
|
utils.lib.mkFlake {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
networking = {
|
networking = {
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
openconnect-sso.enable = true;
|
openconnect-sso.enable = true;
|
||||||
|
openvpn.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
sops.enable = true;
|
sops.enable = true;
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
|
wireshark.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
@ -94,6 +95,8 @@
|
||||||
powerOnBoot = false;
|
powerOnBoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix.settings.download-buffer-size = 500 * 1024 * 1024; # 500 MiB
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
@ -111,17 +114,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
logind = {
|
logind.settings.Login = {
|
||||||
# Handle the laptop lid switch as follows:
|
# Handle the laptop lid switch as follows:
|
||||||
lidSwitch = "hybrid-sleep";
|
HandleLidSwitch = "hybrid-sleep";
|
||||||
lidSwitchExternalPower = "lock";
|
HandleLidSwitchExternalPower = "lock";
|
||||||
lidSwitchDocked = "ignore";
|
HandleLidSwitchDocked = "ignore";
|
||||||
|
|
||||||
# Handle the power key
|
# Handle the power key
|
||||||
powerKey = "suspend";
|
HandlePowerKey = "suspend";
|
||||||
|
HandlePowerKeyLongPress = "poweroff";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
power-profiles-daemon.enable = false;
|
power-profiles-daemon.enable = false;
|
||||||
|
|
||||||
smartd.enable = true;
|
smartd.enable = true;
|
||||||
|
|
@ -140,9 +143,9 @@
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
virtualisation.vmware.host.enable = true;
|
||||||
hostName = "Tibo-NixTop"; # Define your hostname.
|
|
||||||
};
|
networking.hostName = "Tibo-NixTop"; # Define your hostname.
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Brussels";
|
time.timeZone = "Europe/Brussels";
|
||||||
|
|
@ -159,12 +162,6 @@
|
||||||
useXkbConfig = true; # use xkb.options in tty.
|
useXkbConfig = true; # use xkb.options in tty.
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
# services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.libinput.enable = true;
|
|
||||||
|
|
||||||
# List packages installed in system profile.
|
# List packages installed in system profile.
|
||||||
# You can use https://search.nixos.org/ to find more packages (and options).
|
# You can use https://search.nixos.org/ to find more packages (and options).
|
||||||
environment = {
|
environment = {
|
||||||
|
|
@ -198,6 +195,5 @@
|
||||||
#
|
#
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
system.stateVersion = "25.05"; # Did you read the comment?
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,5 +14,7 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.waybar.enable = true;
|
programs.waybar.enable = true;
|
||||||
|
|
||||||
|
services.atd.enable = true; # Command scheduler
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ in {
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
intel-ocl
|
intel-ocl
|
||||||
intel-compute-runtime
|
intel-compute-runtime
|
||||||
|
intel-graphics-compiler
|
||||||
opencl-clhpp
|
opencl-clhpp
|
||||||
opencl-clang
|
|
||||||
opencl-headers
|
opencl-headers
|
||||||
ocl-icd
|
ocl-icd
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,6 @@
|
||||||
imports = [
|
imports = [
|
||||||
./networkmanager
|
./networkmanager
|
||||||
./openconnect-sso
|
./openconnect-sso
|
||||||
|
./openvpn
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
nixos/modules/networking/openvpn/default.nix
Normal file
14
nixos/modules/networking/openvpn/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sisyphus.networking.openvpn;
|
||||||
|
in {
|
||||||
|
options.sisyphus.networking.openvpn.enable = lib.mkEnableOption "OpenVPN client";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.openvpn3.enable = true;
|
||||||
|
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/379074
|
||||||
|
services.resolved.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -5,5 +5,6 @@
|
||||||
./sops
|
./sops
|
||||||
./spotify-adblock
|
./spotify-adblock
|
||||||
./ssh
|
./ssh
|
||||||
|
./wireshark
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
23
nixos/modules/programs/wireshark/default.nix
Normal file
23
nixos/modules/programs/wireshark/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sisyphus.programs.wireshark;
|
||||||
|
in {
|
||||||
|
options.sisyphus.programs.wireshark.enable = lib.mkEnableOption "Wireshark";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
wireshark
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.wireshark = {
|
||||||
|
enable = true;
|
||||||
|
dumpcap.enable = true;
|
||||||
|
usbmon.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
sisyphus.users.wantedGroups = [
|
||||||
|
"wireshark"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,18 +6,24 @@ in {
|
||||||
options.sisyphus.services.openrgb.enable = lib.mkEnableOption "OpenRGB";
|
options.sisyphus.services.openrgb.enable = lib.mkEnableOption "OpenRGB";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.udev.packages = with pkgs; [
|
|
||||||
openrgb
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.kernelModules = [ "i2c-dev" ];
|
boot.kernelModules = [ "i2c-dev" ];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
openrgb-with-all-plugins
|
||||||
|
];
|
||||||
|
|
||||||
hardware.i2c.enable = true;
|
hardware.i2c.enable = true;
|
||||||
|
|
||||||
services.hardware.openrgb = {
|
services = {
|
||||||
|
hardware.openrgb = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.openrgb-with-all-plugins;
|
package = pkgs.openrgb-with-all-plugins;
|
||||||
motherboard = "intel";
|
motherboard = "intel";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
udev.packages = with pkgs; [
|
||||||
|
openrgb
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, inputs, lib, pkgs, pkgs-unstable, ... }:
|
{ config, lib, pkgs, pkgs-unstable, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sisyphus.users.tdpeuter;
|
cfg = config.sisyphus.users.tdpeuter;
|
||||||
|
|
@ -46,9 +46,10 @@ in {
|
||||||
gh # GitHub CLI tool
|
gh # GitHub CLI tool
|
||||||
glow # Terminal Markdown renderer
|
glow # Terminal Markdown renderer
|
||||||
icosystem # Personal icon theme
|
icosystem # Personal icon theme
|
||||||
jellyfin-media-player
|
#jellyfin-media-player
|
||||||
libreoffice-fresh # Office tools
|
libreoffice-fresh # Office tools
|
||||||
librewolf # Internet browser
|
librewolf # Internet browser
|
||||||
|
logseq # Note taking
|
||||||
mpv # Media player
|
mpv # Media player
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
nsxiv # Lightweight image viewer
|
nsxiv # Lightweight image viewer
|
||||||
|
|
@ -73,10 +74,7 @@ in {
|
||||||
# TODO Move to devshells
|
# TODO Move to devshells
|
||||||
# ruff pylint # Python
|
# ruff pylint # Python
|
||||||
]) ++ (with pkgs-unstable; [
|
]) ++ (with pkgs-unstable; [
|
||||||
logseq # Note taking
|
]);
|
||||||
]) ++ [
|
|
||||||
inputs.zen-browser.packages.${pkgs.system}.default
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
|
|
@ -87,9 +85,8 @@ in {
|
||||||
noto-fonts # Dependency of Zellij config
|
noto-fonts # Dependency of Zellij config
|
||||||
noto-fonts-cjk-sans # Dependency of Zellij config
|
noto-fonts-cjk-sans # Dependency of Zellij config
|
||||||
noto-fonts-cjk-serif # Dependency of Zellij config
|
noto-fonts-cjk-serif # Dependency of Zellij config
|
||||||
noto-fonts-emoji
|
|
||||||
noto-fonts-color-emoji # Emoji's!
|
noto-fonts-color-emoji # Emoji's!
|
||||||
vistafonts # Microsoft fonts
|
vista-fonts # Microsoft fonts
|
||||||
];
|
];
|
||||||
|
|
||||||
sisyphus = {
|
sisyphus = {
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@ in {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ../../../stow/hyprland/.config/hypr;
|
source = ../../../stow/hyprland/.config/hypr;
|
||||||
};
|
};
|
||||||
|
".config/hypr/hy3-plugin.conf" = {
|
||||||
|
inherit (config.sisyphus.desktop.hyprland) enable;
|
||||||
|
text = ''
|
||||||
|
plugin = ${pkgs.hyprlandPlugins.hy3}/lib/libhy3.so
|
||||||
|
'';
|
||||||
|
};
|
||||||
".config/kitty" = {
|
".config/kitty" = {
|
||||||
enable = false;
|
enable = false;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Script to disable for an hour or immediately continue wlsunset. 'Toggle'
|
|
||||||
|
|
||||||
# Check if wlsunset is still running
|
|
||||||
pid=$(pgrep wlsunset)
|
|
||||||
|
|
||||||
if [[ -z ${pid} ]] ; then
|
|
||||||
# Start wlsunset right away.
|
|
||||||
wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 &
|
|
||||||
else
|
|
||||||
# Currently stop wlsunset but restart in an hour.
|
|
||||||
kill ${pid}
|
|
||||||
notify-send 'Stopping sunset' 'Restarting in an hour'
|
|
||||||
at now +1 hours -f "${0}"
|
|
||||||
fi
|
|
||||||
52
scripts/toggle-nightlight.sh
Executable file
52
scripts/toggle-nightlight.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Script to disable for an hour or immediately continue wlsunset. 'Toggle'
|
||||||
|
|
||||||
|
# Queue for at, check man page for options
|
||||||
|
ATQUEUE='T'
|
||||||
|
|
||||||
|
# Get current state
|
||||||
|
pid=$(pgrep wlsunset)
|
||||||
|
|
||||||
|
while getopts ":g" option; do
|
||||||
|
case "${option}" in
|
||||||
|
g)
|
||||||
|
if [[ -z "${pid}" ]]; then
|
||||||
|
state='active'
|
||||||
|
tooltip='Turn off nightlight'
|
||||||
|
class='activated'
|
||||||
|
else
|
||||||
|
state='inactive'
|
||||||
|
tooltip='Turn on nightlight'
|
||||||
|
class='none'
|
||||||
|
fi
|
||||||
|
printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \
|
||||||
|
"${state}" "${tooltip}" "${class}"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo 'Invalid option'
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Toggle
|
||||||
|
if [[ -z ${pid} ]] ; then
|
||||||
|
# Clear queue
|
||||||
|
for job in $(at -l -q "${ATQUEUE}" | cut -f1); do
|
||||||
|
at -r "${job}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$( command -v wlsunset )" ]; then
|
||||||
|
notify-send 'Starting nightlight'
|
||||||
|
wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 &
|
||||||
|
else
|
||||||
|
notify-send 'Nightlight is not available'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Currently stop wlsunset but restart in an hour.
|
||||||
|
kill ${pid}
|
||||||
|
notify-send 'Stopping nightlight' 'Restarting in an hour'
|
||||||
|
at now +1 hours -f "${0}" -q "${ATQUEUE}"
|
||||||
|
fi
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
|
#
|
||||||
|
# ~/.config/hypr/hy3.conf
|
||||||
|
#
|
||||||
|
|
||||||
# TODO Do not hardcode this path
|
# Load the plugin. File should contain `plugin = /path/to/lib/libhy3.so`
|
||||||
plugin = /nix/store/afivj8v5kfdsadxs4pa45vh0y65s3ajm-hy3-hl0.49.0/lib/libhy3.so
|
source = /home/tdpeuter/.config/hypr/hy3-plugin.conf
|
||||||
|
|
||||||
general:layout = hy3
|
general:layout = hy3
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,9 +85,6 @@ animations {
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
gestures {
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_fingers = 3
|
|
||||||
workspace_swipe_min_fingers = false
|
|
||||||
workspace_swipe_distance = 300
|
workspace_swipe_distance = 300
|
||||||
workspace_swipe_invert = true
|
workspace_swipe_invert = true
|
||||||
workspace_swipe_min_speed_to_force = 30
|
workspace_swipe_min_speed_to_force = 30
|
||||||
|
|
@ -103,6 +100,12 @@ gestures {
|
||||||
workspace_swipe_forever = true
|
workspace_swipe_forever = true
|
||||||
|
|
||||||
workspace_swipe_use_r = false
|
workspace_swipe_use_r = false
|
||||||
|
|
||||||
|
# hyprlang if !HYPRLAND_V_0_53
|
||||||
|
workspace_swipe = true
|
||||||
|
workspace_swipe_fingers = 3
|
||||||
|
workspace_swipe_min_fingers = false
|
||||||
|
# hyprlang endif
|
||||||
}
|
}
|
||||||
|
|
||||||
group {
|
group {
|
||||||
|
|
@ -258,6 +261,10 @@ env = XCURSOR_SIZE,24
|
||||||
# SHIFT CAPS CTRL/CONTROL ALT MOD2 MOD3 SUPER/WIN/LOGO/MOD4 MOD5
|
# SHIFT CAPS CTRL/CONTROL ALT MOD2 MOD3 SUPER/WIN/LOGO/MOD4 MOD5
|
||||||
$flag = MOD4
|
$flag = MOD4
|
||||||
|
|
||||||
|
$LMB = mouse:272
|
||||||
|
$RMB = mouse:273
|
||||||
|
$MMB = mouse:274
|
||||||
|
|
||||||
$left = h
|
$left = h
|
||||||
$down = j
|
$down = j
|
||||||
$up = k
|
$up = k
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,10 @@ bind = $flag+Shift, s, settiled
|
||||||
bind = $flag, F11, fullscreen, 1
|
bind = $flag, F11, fullscreen, 1
|
||||||
bind = $flag+Shift, F11, fullscreen, 0
|
bind = $flag+Shift, F11, fullscreen, 0
|
||||||
|
|
||||||
|
bindm = $flag, $LMB, movewindow
|
||||||
|
bindm = $flag, $RMB, resizewindow
|
||||||
|
bindc = $flag, $LMB, togglefloating
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
|
|
||||||
$ws1 = 1
|
$ws1 = 1
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,62 @@
|
||||||
|
# Resizing
|
||||||
|
$mode_resize = Resize
|
||||||
|
bind = $flag, R, submap, $mode_resize
|
||||||
|
submap = $mode_resize
|
||||||
|
|
||||||
|
bind = , F, togglefloating
|
||||||
|
|
||||||
|
binde = , $right, resizeactive, 10 0
|
||||||
|
binde = , $up, resizeactive, 0 -10
|
||||||
|
binde = , $left, resizeactive, -10 0
|
||||||
|
binde = , $down, resizeactive, 0 10
|
||||||
|
|
||||||
|
binde = , Right , resizeactive, 10 0
|
||||||
|
binde = , Up, resizeactive, 0 -10
|
||||||
|
binde = , Left, resizeactive, -10 0
|
||||||
|
binde = , Down, resizeactive, 0 10
|
||||||
|
|
||||||
|
binde = Shift, $right, resizeactive, 50 0
|
||||||
|
binde = Shift, $up, resizeactive, 0 -50
|
||||||
|
binde = Shift, $left, resizeactive, -50 0
|
||||||
|
binde = Shift, $down, resizeactive, 0 50
|
||||||
|
|
||||||
|
binde = Shift, Right, resizeactive, 50 0
|
||||||
|
binde = Shift, Up, resizeactive, 0 -50
|
||||||
|
binde = Shift, Left, resizeactive, -50 0
|
||||||
|
binde = Shift, Down, resizeactive, 0 50
|
||||||
|
|
||||||
|
binde = $flag, $right, moveactive, 10 0
|
||||||
|
binde = $flag, $up, moveactive, 0 -10
|
||||||
|
binde = $flag, $left, moveactive, -10 0
|
||||||
|
binde = $flag, $down, moveactive, 0 10
|
||||||
|
|
||||||
|
binde = $flag, Right, moveactive, 10 0
|
||||||
|
binde = $flag, Up, moveactive, 0 -10
|
||||||
|
binde = $flag, Left, moveactive, -10 0
|
||||||
|
binde = $flag, Down, moveactive, 0 10
|
||||||
|
|
||||||
|
binde = $flag+Shift, $right, moveactive, 50 0
|
||||||
|
binde = $flag+Shift, $up, moveactive, 0 -50
|
||||||
|
binde = $flag+Shift, $left, moveactive, -50 0
|
||||||
|
binde = $flag+Shift, $down, moveactive, 0 50
|
||||||
|
|
||||||
|
binde = $flag+Shift, Right , moveactive, 50 0
|
||||||
|
binde = $flag+Shift, Up, moveactive, 0 -50
|
||||||
|
binde = $flag+Shift, Left, moveactive, -50 0
|
||||||
|
binde = $flag+Shift, Down, moveactive, 0 50
|
||||||
|
|
||||||
|
|
||||||
|
# hyprlang if HYPRLAND_V_0_53
|
||||||
|
#gesture = 3, swipe, move
|
||||||
|
#gesture = 4, swipe, resize
|
||||||
|
# hyprlang endif
|
||||||
|
|
||||||
|
bind = $flag, R, submap, reset
|
||||||
|
bind = , Escape, submap, reset
|
||||||
|
bind = , Return, submap, reset
|
||||||
|
|
||||||
|
submap = reset
|
||||||
|
|
||||||
# System actions
|
# System actions
|
||||||
$mode_system = System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
$mode_system = System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
bind = Ctrl+Alt, Delete, submap, $mode_system
|
bind = Ctrl+Alt, Delete, submap, $mode_system
|
||||||
|
|
@ -36,3 +95,11 @@ bind = , Return, submap, reset
|
||||||
|
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
|
# Ignore (all) keybinds. Useful when working with Virtual Machines.
|
||||||
|
$mode_ignore=Ignore keybinds - Press Control+Alt+Insert to escape.
|
||||||
|
bind = Ctrl+Alt, Insert, submap, $mode_ignore
|
||||||
|
submap = $mode_ignore
|
||||||
|
|
||||||
|
bind = Ctrl+Alt, Insert, submap, reset
|
||||||
|
|
||||||
|
submap = reset
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,7 @@ set smarttab
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set title
|
set title
|
||||||
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
|
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
|
||||||
"" Show suggestions on another line instead of inplace
|
set wildmenu "" Show suggestions on another line instead of inplace
|
||||||
set wildmenu
|
|
||||||
|
|
||||||
syntax enable
|
syntax enable
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@
|
||||||
"privacy",
|
"privacy",
|
||||||
"tray",
|
"tray",
|
||||||
"group/control-center",
|
"group/control-center",
|
||||||
|
"group/display",
|
||||||
"group/network",
|
"group/network",
|
||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
"group/power",
|
"group/power",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
{
|
{
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"\uf111", /* */
|
||||||
|
"\uf185" /* */
|
||||||
|
],
|
||||||
|
"on-click": "brightnessctl -sq set 0",
|
||||||
|
"on-click-right": "wl-mirror $(hyprctl monitors -j | jq --raw-output '.[] | select(.focused) | .name')"
|
||||||
|
},
|
||||||
|
|
||||||
"battery": {
|
"battery": {
|
||||||
"format": "{capacity}% {icon}",
|
"format": "{capacity}% {icon}",
|
||||||
"format-alt": "{time} {icon}",
|
"format-alt": "{time} {icon}",
|
||||||
|
|
@ -71,6 +82,12 @@
|
||||||
"tooltip": false
|
"tooltip": false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"custom/display": {
|
||||||
|
"format": "\ue163", /* */
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "wdisplays"
|
||||||
|
},
|
||||||
|
|
||||||
"custom/meta": {
|
"custom/meta": {
|
||||||
"format": "\uf17c", /* */
|
"format": "\uf17c", /* */
|
||||||
"tooltip": false,
|
"tooltip": false,
|
||||||
|
|
@ -134,6 +151,19 @@
|
||||||
"tooltip": true
|
"tooltip": true
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"custom/toggle-nightlight": {
|
||||||
|
"exec": "bash ${SCRIPT_DIR}/toggle-nightlight.sh -g",
|
||||||
|
"interval": 60,
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "bash ${SCRIPT_DIR}/toggle-nightlight.sh",
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"active": "\uf186", /* */
|
||||||
|
"inactive": "\uf0eb" /* */
|
||||||
|
},
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
"custom/toggle-notifications": {
|
"custom/toggle-notifications": {
|
||||||
"exec": "bash ${SCRIPT_DIR}/toggle-notifications.sh -g",
|
"exec": "bash ${SCRIPT_DIR}/toggle-notifications.sh -g",
|
||||||
"interval": 60,
|
"interval": 60,
|
||||||
|
|
@ -163,12 +193,31 @@
|
||||||
"group/control-center": {
|
"group/control-center": {
|
||||||
"orientation": "inherit",
|
"orientation": "inherit",
|
||||||
"modules": [
|
"modules": [
|
||||||
|
/* Preview */
|
||||||
"custom/control-center",
|
"custom/control-center",
|
||||||
|
/* Left-most */
|
||||||
"group/language",
|
"group/language",
|
||||||
/* "hyprland/language", "sway/language", */
|
"custom/toggle-notifications"
|
||||||
"custom/toggle-notifications",
|
/* Right-most */
|
||||||
|
],
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": false,
|
||||||
|
"children-class": "drawer-child"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"group/display": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"modules": [
|
||||||
|
/* Preview */
|
||||||
|
"custom/display",
|
||||||
|
/* Most-left */
|
||||||
|
"idle_inhibitor",
|
||||||
|
"custom/toggle-nightlight",
|
||||||
"custom/toggle-light-dark",
|
"custom/toggle-light-dark",
|
||||||
"bluetooth"
|
"backlight"
|
||||||
|
/* Most-right */
|
||||||
],
|
],
|
||||||
"drawer": {
|
"drawer": {
|
||||||
"transition-duration": 500,
|
"transition-duration": 500,
|
||||||
|
|
@ -199,6 +248,7 @@
|
||||||
/* Preview */
|
/* Preview */
|
||||||
"network",
|
"network",
|
||||||
/* Most-left */
|
/* Most-left */
|
||||||
|
"bluetooth",
|
||||||
"custom/toggle-tailscale"
|
"custom/toggle-tailscale"
|
||||||
/* Most-right */
|
/* Most-right */
|
||||||
],
|
],
|
||||||
|
|
@ -220,8 +270,7 @@
|
||||||
"custom/system-hibernate",
|
"custom/system-hibernate",
|
||||||
"custom/system-sleep",
|
"custom/system-sleep",
|
||||||
"custom/system-lock",
|
"custom/system-lock",
|
||||||
"power-profiles-daemon",
|
"power-profiles-daemon"
|
||||||
"idle_inhibitor"
|
|
||||||
/* Most-right */
|
/* Most-right */
|
||||||
],
|
],
|
||||||
"drawer": {
|
"drawer": {
|
||||||
|
|
|
||||||
|
|
@ -82,12 +82,13 @@ window#waybar {
|
||||||
#privacy,
|
#privacy,
|
||||||
#privacy-item,
|
#privacy-item,
|
||||||
#privacy-item.screenshare,
|
#privacy-item.screenshare,
|
||||||
#privacy-item.audio-in {
|
#privacy-item.audio-in,
|
||||||
|
#privacy-item.audio-out {
|
||||||
background-color: @safety;
|
background-color: @safety;
|
||||||
}
|
}
|
||||||
|
|
||||||
#privacy-item.screenshare {
|
#privacy-item {
|
||||||
background-color: #000000;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio.muted {
|
#pulseaudio.muted {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue