Sun Jun 2 02:02:14 PM CEST 2024
This commit is contained in:
parent
d11e7cf1d4
commit
e3f896fc68
|
@ -1,97 +0,0 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ config, inputs, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
time.timeZone = "Europe/Brussels";
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
||||
nix.settings = {
|
||||
substituters = [ "https://hyprland.cachix.org" ];
|
||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
||||
};
|
||||
|
||||
# System Packages
|
||||
programs.zsh.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = "Hyprland";
|
||||
user = "user";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
|
||||
# Pipewire
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
users.users.user = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAa3tMzSCRuprEACrBsKI0F/o73o6J9L1qR3TaZn/N8 user@Kell"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxMq4kubz4wWr4S8xU3GRkPcn6XRS3y7IP+qylN5QAp user@Aloria"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtzTFdvLEvXpv69qAWLTipl4hgsKgRrRrWJRecsFthG user@Riva"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxtJRtlAphl8euicVUR/6C7o+tyhpYmcbMBLHnldEIX server@mallorea"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILazQU/Y9I5PkMZoG/Lzc6mDR7s+aRHzqJoFUhYSse4P PocoF1"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFoUYcVMsDw6tmjfdOuQkwaXx8fohKJs/6/5HoLzTP6x Tablet"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
git
|
||||
curl
|
||||
];
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.enable = false;
|
||||
system.stateVersion = "23.11";
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland:
|
||||
|
||||
# Fonts
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
iosevka
|
||||
nerdfonts
|
||||
];
|
||||
|
||||
}
|
128
NixOS/flake.nix
128
NixOS/flake.nix
|
@ -31,26 +31,116 @@
|
|||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
commonModules = name: [
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
networking.hostName = name;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
time.timeZone = "Europe/Brussels";
|
||||
|
||||
nix.settings = {
|
||||
substituters = [ "https://hyprland.cachix.org" ];
|
||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = "Hyprland";
|
||||
user = "user";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
users.users.${name} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAa3tMzSCRuprEACrBsKI0F/o73o6J9L1qR3TaZn/N8 user@Kell"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxMq4kubz4wWr4S8xU3GRkPcn6XRS3y7IP+qylN5QAp user@Aloria"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtzTFdvLEvXpv69qAWLTipl4hgsKgRrRrWJRecsFthG user@Riva"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxtJRtlAphl8euicVUR/6C7o+tyhpYmcbMBLHnldEIX server@mallorea"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILazQU/Y9I5PkMZoG/Lzc6mDR7s+aRHzqJoFUhYSse4P PocoF1"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFoUYcVMsDw6tmjfdOuQkwaXx8fohKJs/6/5HoLzTP6x Tablet"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
curl
|
||||
git
|
||||
];
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.enable = false;
|
||||
system.stateVersion = "23.11";
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland:
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
iosevka
|
||||
nerdfonts
|
||||
];
|
||||
|
||||
}
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${name}= {
|
||||
imports = [ ./home.nix ];
|
||||
};
|
||||
};
|
||||
}
|
||||
./hosts/${name}
|
||||
];
|
||||
mkSystem = name: cfg: nixpkgs.lib.nixosSystem {
|
||||
system = cfg.system or "x86_64-linux";
|
||||
modules = (commonModules name) ++ (cfg.modules or [ ]);
|
||||
specialArgs = attrs;
|
||||
};
|
||||
systems = {
|
||||
nixos = {
|
||||
# No specific overrides yet
|
||||
}
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
nixos = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; }; # allows access to flake inputs in nixos modules
|
||||
modules = [
|
||||
./configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.user = {
|
||||
imports = [ ./home.nix ];
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -35,16 +35,16 @@
|
|||
a = "add";
|
||||
};
|
||||
extraConfig = {
|
||||
credentials.helper = "store";
|
||||
pull.rebase = false;
|
||||
push.autoSetupRemove = true;
|
||||
init.defaultBranch = "master";
|
||||
diff.noprefix = true;
|
||||
color.ui = "auto";
|
||||
core = {
|
||||
excludesfile = "~/.gitignore";
|
||||
editor = "${pkgs.neovim}/bin/nvim";
|
||||
};
|
||||
credentials.helper = "store";
|
||||
pull.rebase = false;
|
||||
push.autoSetupRemove = true;
|
||||
init.defaultBranch = "master";
|
||||
diff.noprefix = true;
|
||||
color.ui = "auto";
|
||||
core = {
|
||||
excludesfile = "~/.gitignore";
|
||||
editor = "${pkgs.neovim}/bin/nvim";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -77,19 +77,19 @@ in
|
|||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
frame_color = "#00000000";
|
||||
separator_color = "frame";
|
||||
background = "#24273A";
|
||||
foreground = "#ffffff";
|
||||
font = "Ubuntu 10.5";
|
||||
width = "(0, 600)";
|
||||
padding = 15;
|
||||
origin = "top-right";
|
||||
offset = "10x10";
|
||||
horizontal_padding = 20;
|
||||
gap_size = 15;
|
||||
};
|
||||
global = {
|
||||
frame_color = "#00000000";
|
||||
separator_color = "frame";
|
||||
background = "#24273A";
|
||||
foreground = "#ffffff";
|
||||
font = "Ubuntu 10.5";
|
||||
width = "(0, 600)";
|
||||
padding = 15;
|
||||
origin = "top-right";
|
||||
offset = "10x10";
|
||||
horizontal_padding = 20;
|
||||
gap_size = 15;
|
||||
};
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.file."${config.xdg.configHome}/lf" = {
|
||||
source = ./files;
|
||||
recursive = true;
|
||||
home.file."${config.xdg.configHome}/lf" = {
|
||||
source = ./files;
|
||||
recursive = true;
|
||||
};
|
||||
programs.lf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
icons = true;
|
||||
autoquit = true;
|
||||
mouse = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
cursorpreviewfmt = "";
|
||||
};
|
||||
programs.lf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
icons = true;
|
||||
autoquit = true;
|
||||
mouse = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
cursorpreviewfmt = "";
|
||||
};
|
||||
keybindings = {
|
||||
"<backspace2>" = "quit";
|
||||
"<c-e>" = "half-up";
|
||||
"." = "set hidden!";
|
||||
"o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
||||
"-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
||||
"<enter>" = "open";
|
||||
"<c-t>" = ":jump <enter>";
|
||||
};
|
||||
commands = {
|
||||
jump = ''
|
||||
''${{
|
||||
res=$(zsh -c "source $HOME/.zshrc && find_global d")
|
||||
lf -remote "send $id cd \"$res\""
|
||||
}}
|
||||
'';
|
||||
};
|
||||
cmdKeybindings = {
|
||||
q = "quit";
|
||||
};
|
||||
keybindings = {
|
||||
"<backspace2>" = "quit";
|
||||
"<c-e>" = "half-up";
|
||||
"." = "set hidden!";
|
||||
"o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
||||
"-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
||||
"<enter>" = "open";
|
||||
"<c-t>" = ":jump <enter>";
|
||||
};
|
||||
commands = {
|
||||
jump = ''
|
||||
''${{
|
||||
res=$(zsh -c "source $HOME/.zshrc && find_global d")
|
||||
lf -remote "send $id cd \"$res\""
|
||||
}}
|
||||
'';
|
||||
};
|
||||
cmdKeybindings = {
|
||||
q = "quit";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,131 +1,133 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
papirus-icon-theme
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
papirus-icon-theme
|
||||
];
|
||||
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
font = "SF Pro Rounded 13";
|
||||
extraConfig = {
|
||||
show-icons = true;
|
||||
icon-theme = "Papirus";
|
||||
kb-cancel = "Super_L+XF86Launch5,Escape";
|
||||
combi-hide-mode-prefix = true;
|
||||
};
|
||||
theme = let
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
in {
|
||||
"*" = {
|
||||
background = mkLiteral "#0f111a";
|
||||
foreground = mkLiteral "#f1f1f1";
|
||||
selected = mkLiteral "#0033a1";
|
||||
selected-text = mkLiteral "#ffffff";
|
||||
};
|
||||
|
||||
"window" = {
|
||||
transparency = "real";
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
width = mkLiteral "800px";
|
||||
border-radius = mkLiteral "5px";
|
||||
};
|
||||
|
||||
"textbox-prompt-colon" = {
|
||||
expand = mkLiteral "false";
|
||||
background-color = mkLiteral "@background";
|
||||
padding = mkLiteral "4px 0px 0px 6px";
|
||||
};
|
||||
|
||||
"inputbar" = {
|
||||
children = mkLiteral "[ textbox-prompt-colon, entry ]";
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
expand = mkLiteral "false";
|
||||
border = mkLiteral "0px 0px 0px 0px";
|
||||
border-radius = mkLiteral "0px";
|
||||
border-color = mkLiteral "@selected";
|
||||
margin = mkLiteral "0px 0px 0px 0px";
|
||||
padding = mkLiteral "0px 0px 4px 0px";
|
||||
position = mkLiteral "center";
|
||||
};
|
||||
|
||||
"entry" = {
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
placeholder-color = mkLiteral "@foreground";
|
||||
expand = mkLiteral "true";
|
||||
horizontal-align = mkLiteral "0";
|
||||
blink = mkLiteral "true";
|
||||
padding = mkLiteral "4px 0px 0px 4px";
|
||||
font = "SF Pro Rounded 25";
|
||||
};
|
||||
|
||||
"case-indicator" = {
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
spacing = mkLiteral "0";
|
||||
};
|
||||
|
||||
"listview" = {
|
||||
background-color = mkLiteral "@background";
|
||||
columns = mkLiteral "1";
|
||||
spacing = mkLiteral "5px";
|
||||
cycle = mkLiteral "true";
|
||||
dynamic = mkLiteral "true";
|
||||
layout = mkLiteral "vertical";
|
||||
fixed-height = "true";
|
||||
lines = mkLiteral "5";
|
||||
};
|
||||
|
||||
"mainbox" = {
|
||||
background-color = mkLiteral "@background";
|
||||
children = mkLiteral "[ inputbar, message, listview ]";
|
||||
spacing = mkLiteral "20px";
|
||||
padding = mkLiteral "20px 15px 15px 15px";
|
||||
};
|
||||
|
||||
"message" = {
|
||||
children = mkLiteral "[ textbox ]";
|
||||
border-radius = mkLiteral "5px";
|
||||
};
|
||||
|
||||
"textbox" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@foreground";
|
||||
padding = mkLiteral "20px 6px 20px 80px";
|
||||
};
|
||||
|
||||
"element" = {
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
orientation = mkLiteral "horizontal";
|
||||
border-radius = mkLiteral "4px";
|
||||
padding = mkLiteral "2px 2px 2px 2px";
|
||||
};
|
||||
|
||||
"element-text, element-icon" = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
};
|
||||
|
||||
"element-icon" = {
|
||||
size = mkLiteral "40px";
|
||||
border = mkLiteral "10px";
|
||||
};
|
||||
|
||||
"element-text" = {
|
||||
padding = mkLiteral "20px 0px 0px 10px";
|
||||
};
|
||||
|
||||
"element selected" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@selected-text";
|
||||
border = mkLiteral "0px";
|
||||
border-radius = mkLiteral "3px";
|
||||
border-color = mkLiteral "@selected";
|
||||
};
|
||||
};
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
font = "SF Pro Rounded 13";
|
||||
extraConfig = {
|
||||
show-icons = true;
|
||||
icon-theme = "Papirus";
|
||||
kb-cancel = "Super_L+XF86Launch5,Escape";
|
||||
combi-hide-mode-prefix = true;
|
||||
};
|
||||
theme =
|
||||
let
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
in
|
||||
{
|
||||
"*" = {
|
||||
background = mkLiteral "#0f111a";
|
||||
foreground = mkLiteral "#f1f1f1";
|
||||
selected = mkLiteral "#0033a1";
|
||||
selected-text = mkLiteral "#ffffff";
|
||||
};
|
||||
|
||||
"window" = {
|
||||
transparency = "real";
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
width = mkLiteral "800px";
|
||||
border-radius = mkLiteral "5px";
|
||||
};
|
||||
|
||||
"textbox-prompt-colon" = {
|
||||
expand = mkLiteral "false";
|
||||
background-color = mkLiteral "@background";
|
||||
padding = mkLiteral "4px 0px 0px 6px";
|
||||
};
|
||||
|
||||
"inputbar" = {
|
||||
children = mkLiteral "[ textbox-prompt-colon, entry ]";
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
expand = mkLiteral "false";
|
||||
border = mkLiteral "0px 0px 0px 0px";
|
||||
border-radius = mkLiteral "0px";
|
||||
border-color = mkLiteral "@selected";
|
||||
margin = mkLiteral "0px 0px 0px 0px";
|
||||
padding = mkLiteral "0px 0px 4px 0px";
|
||||
position = mkLiteral "center";
|
||||
};
|
||||
|
||||
"entry" = {
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
placeholder-color = mkLiteral "@foreground";
|
||||
expand = mkLiteral "true";
|
||||
horizontal-align = mkLiteral "0";
|
||||
blink = mkLiteral "true";
|
||||
padding = mkLiteral "4px 0px 0px 4px";
|
||||
font = "SF Pro Rounded 25";
|
||||
};
|
||||
|
||||
"case-indicator" = {
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
spacing = mkLiteral "0";
|
||||
};
|
||||
|
||||
"listview" = {
|
||||
background-color = mkLiteral "@background";
|
||||
columns = mkLiteral "1";
|
||||
spacing = mkLiteral "5px";
|
||||
cycle = mkLiteral "true";
|
||||
dynamic = mkLiteral "true";
|
||||
layout = mkLiteral "vertical";
|
||||
fixed-height = "true";
|
||||
lines = mkLiteral "5";
|
||||
};
|
||||
|
||||
"mainbox" = {
|
||||
background-color = mkLiteral "@background";
|
||||
children = mkLiteral "[ inputbar, message, listview ]";
|
||||
spacing = mkLiteral "20px";
|
||||
padding = mkLiteral "20px 15px 15px 15px";
|
||||
};
|
||||
|
||||
"message" = {
|
||||
children = mkLiteral "[ textbox ]";
|
||||
border-radius = mkLiteral "5px";
|
||||
};
|
||||
|
||||
"textbox" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@foreground";
|
||||
padding = mkLiteral "20px 6px 20px 80px";
|
||||
};
|
||||
|
||||
"element" = {
|
||||
background-color = mkLiteral "@background";
|
||||
text-color = mkLiteral "@foreground";
|
||||
orientation = mkLiteral "horizontal";
|
||||
border-radius = mkLiteral "4px";
|
||||
padding = mkLiteral "2px 2px 2px 2px";
|
||||
};
|
||||
|
||||
"element-text, element-icon" = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
};
|
||||
|
||||
"element-icon" = {
|
||||
size = mkLiteral "40px";
|
||||
border = mkLiteral "10px";
|
||||
};
|
||||
|
||||
"element-text" = {
|
||||
padding = mkLiteral "20px 0px 0px 10px";
|
||||
};
|
||||
|
||||
"element selected" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@selected-text";
|
||||
border = mkLiteral "0px";
|
||||
border-radius = mkLiteral "3px";
|
||||
border-color = mkLiteral "@selected";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,254 +8,254 @@
|
|||
enable = true;
|
||||
package = inputs.waybar.packages.${pkgs.system}.waybar;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
height = 35;
|
||||
spacing = 4;
|
||||
output = "DP-2";
|
||||
modules-left = ["wlr/taskbar"];
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
modules-right = ["tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2"];
|
||||
"wlr/taskbar" = {
|
||||
on-click = "activate";
|
||||
on-click-right = "close";
|
||||
format = "{icon} {title:.20}";
|
||||
all-outputs = true;
|
||||
};
|
||||
"wireplumber" = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = "";
|
||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
format-icons = ["" "" ""];
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
warp-on-scroll = false;
|
||||
format = "{name}";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 50;
|
||||
};
|
||||
tray = {
|
||||
spacing = 10;
|
||||
};
|
||||
"clock#clock2" = {
|
||||
timezone = "Europe/Brussels";
|
||||
format = "{:%H:%M:%S}";
|
||||
interval = 1;
|
||||
};
|
||||
clock = {
|
||||
timezone = "Europe/Brussels";
|
||||
format = "{:%Y-%m-%d}";
|
||||
interval = 3600;
|
||||
};
|
||||
cpu = {
|
||||
format = "{max_frequency}GHz";
|
||||
tooltip = false;
|
||||
interval = 5;
|
||||
};
|
||||
"cpu#cpu2" = {
|
||||
format = "CPU {usage}%";
|
||||
tooltip = false;
|
||||
interval = 5;
|
||||
};
|
||||
"custom/updates" = {
|
||||
exec = "bash -c \"checkupdates | wc -l\"";
|
||||
on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\"";
|
||||
interval = 60;
|
||||
format = "{} ";
|
||||
};
|
||||
memory = {
|
||||
interval = 5;
|
||||
format = "{used:0.2f}G";
|
||||
};
|
||||
temperature = {
|
||||
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
|
||||
interval = 5;
|
||||
critical-threshold = 80;
|
||||
format = "{temperatureC}°C";
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon}";
|
||||
tooltip-format = "{capacity}% ({time})";
|
||||
format-plugged = "{capacity}% ";
|
||||
format-alt = "{capacity}% {time} {icon}";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
};
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
height = 35;
|
||||
spacing = 4;
|
||||
output = "DP-2";
|
||||
modules-left = [ "wlr/taskbar" ];
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-right = [ "tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2" ];
|
||||
"wlr/taskbar" = {
|
||||
on-click = "activate";
|
||||
on-click-right = "close";
|
||||
format = "{icon} {title:.20}";
|
||||
all-outputs = true;
|
||||
};
|
||||
"wireplumber" = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = "";
|
||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
format-icons = [ "" "" "" ];
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
warp-on-scroll = false;
|
||||
format = "{name}";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 50;
|
||||
};
|
||||
tray = {
|
||||
spacing = 10;
|
||||
};
|
||||
"clock#clock2" = {
|
||||
timezone = "Europe/Brussels";
|
||||
format = "{:%H:%M:%S}";
|
||||
interval = 1;
|
||||
};
|
||||
clock = {
|
||||
timezone = "Europe/Brussels";
|
||||
format = "{:%Y-%m-%d}";
|
||||
interval = 3600;
|
||||
};
|
||||
cpu = {
|
||||
format = "{max_frequency}GHz";
|
||||
tooltip = false;
|
||||
interval = 5;
|
||||
};
|
||||
"cpu#cpu2" = {
|
||||
format = "CPU {usage}%";
|
||||
tooltip = false;
|
||||
interval = 5;
|
||||
};
|
||||
"custom/updates" = {
|
||||
exec = "bash -c \"checkupdates | wc -l\"";
|
||||
on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\"";
|
||||
interval = 60;
|
||||
format = "{} ";
|
||||
};
|
||||
memory = {
|
||||
interval = 5;
|
||||
format = "{used:0.2f}G";
|
||||
};
|
||||
temperature = {
|
||||
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
|
||||
interval = 5;
|
||||
critical-threshold = 80;
|
||||
format = "{temperatureC}°C";
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon}";
|
||||
tooltip-format = "{capacity}% ({time})";
|
||||
format-plugged = "{capacity}% ";
|
||||
format-alt = "{capacity}% {time} {icon}";
|
||||
format-icons = [ " " " " " " " " " " ];
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-size: 18px;
|
||||
font-weight:400;
|
||||
font-family: "Roboto Sans", "FontAwesome";
|
||||
}
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-size: 18px;
|
||||
font-weight:400;
|
||||
font-family: "Roboto Sans", "FontAwesome";
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
window#waybar {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
/* window#waybar.hidden { */
|
||||
/* opacity: 0.2; */
|
||||
/* } */
|
||||
/* window#waybar.hidden { */
|
||||
/* opacity: 0.2; */
|
||||
/* } */
|
||||
|
||||
button {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
button {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 0 #ffffff;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 0 #ffffff;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background-color: #023269;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background-color: #023269;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: #023269;
|
||||
}
|
||||
#workspaces button.focused {
|
||||
background-color: #023269;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-color: #023269;
|
||||
}
|
||||
#workspaces button.active {
|
||||
background-color: #023269;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #ed8274;
|
||||
}
|
||||
#workspaces button.urgent {
|
||||
background-color: #ed8274;
|
||||
}
|
||||
|
||||
|
||||
#window,
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-updates,
|
||||
#custom-powermode,
|
||||
#tray {
|
||||
padding: 0 14px;
|
||||
border-radius: 7px;
|
||||
color: #ffffff;
|
||||
background-color: #1f2430;
|
||||
margin-left:4px;
|
||||
margin-right:4px;
|
||||
margin-top:2px;
|
||||
margin-bottom:2px;
|
||||
}
|
||||
#window,
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-updates,
|
||||
#custom-powermode,
|
||||
#tray {
|
||||
padding: 0 14px;
|
||||
border-radius: 7px;
|
||||
color: #ffffff;
|
||||
background-color: #1f2430;
|
||||
margin-left:4px;
|
||||
margin-right:4px;
|
||||
margin-top:2px;
|
||||
margin-bottom:2px;
|
||||
}
|
||||
|
||||
#clock.clock2,
|
||||
#cpu.cpu2,
|
||||
#memory,
|
||||
#tray,
|
||||
#temperature {
|
||||
background-color: #023269;
|
||||
}
|
||||
#clock.clock2,
|
||||
#cpu.cpu2,
|
||||
#memory,
|
||||
#tray,
|
||||
#temperature {
|
||||
background-color: #023269;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
padding: 0 12px;
|
||||
border-radius: 7px;
|
||||
color: #ffffff;
|
||||
background-color: #1f2430;
|
||||
margin-left:4px;
|
||||
margin-right:4px;
|
||||
margin-top:2px;
|
||||
margin-bottom:2px;
|
||||
}
|
||||
#taskbar button.active {
|
||||
background-color: #023269;
|
||||
}
|
||||
#taskbar button {
|
||||
padding: 0 12px;
|
||||
border-radius: 7px;
|
||||
color: #ffffff;
|
||||
background-color: #1f2430;
|
||||
margin-left:4px;
|
||||
margin-right:4px;
|
||||
margin-top:2px;
|
||||
margin-bottom:2px;
|
||||
}
|
||||
#taskbar button.active {
|
||||
background-color: #023269;
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight:400;
|
||||
margin-left:0;
|
||||
}
|
||||
window#waybar.empty #window {
|
||||
background-color: transparent;
|
||||
}
|
||||
#window {
|
||||
font-weight:400;
|
||||
margin-left:0;
|
||||
}
|
||||
window#waybar.empty #window {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin-right:0;
|
||||
}
|
||||
#clock {
|
||||
margin-right:0;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin: 4px 9px;
|
||||
}
|
||||
#workspaces {
|
||||
margin: 4px 9px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue