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
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
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
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems;
|
||||||
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 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,16 +35,16 @@
|
||||||
a = "add";
|
a = "add";
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
credentials.helper = "store";
|
credentials.helper = "store";
|
||||||
pull.rebase = false;
|
pull.rebase = false;
|
||||||
push.autoSetupRemove = true;
|
push.autoSetupRemove = true;
|
||||||
init.defaultBranch = "master";
|
init.defaultBranch = "master";
|
||||||
diff.noprefix = true;
|
diff.noprefix = true;
|
||||||
color.ui = "auto";
|
color.ui = "auto";
|
||||||
core = {
|
core = {
|
||||||
excludesfile = "~/.gitignore";
|
excludesfile = "~/.gitignore";
|
||||||
editor = "${pkgs.neovim}/bin/nvim";
|
editor = "${pkgs.neovim}/bin/nvim";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -77,19 +77,19 @@ in
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
frame_color = "#00000000";
|
frame_color = "#00000000";
|
||||||
separator_color = "frame";
|
separator_color = "frame";
|
||||||
background = "#24273A";
|
background = "#24273A";
|
||||||
foreground = "#ffffff";
|
foreground = "#ffffff";
|
||||||
font = "Ubuntu 10.5";
|
font = "Ubuntu 10.5";
|
||||||
width = "(0, 600)";
|
width = "(0, 600)";
|
||||||
padding = 15;
|
padding = 15;
|
||||||
origin = "top-right";
|
origin = "top-right";
|
||||||
offset = "10x10";
|
offset = "10x10";
|
||||||
horizontal_padding = 20;
|
horizontal_padding = 20;
|
||||||
gap_size = 15;
|
gap_size = 15;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
|
|
@ -1,39 +1,39 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.file."${config.xdg.configHome}/lf" = {
|
home.file."${config.xdg.configHome}/lf" = {
|
||||||
source = ./files;
|
source = ./files;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
};
|
||||||
|
programs.lf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
icons = true;
|
||||||
|
autoquit = true;
|
||||||
|
mouse = true;
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
cursorpreviewfmt = "";
|
||||||
};
|
};
|
||||||
programs.lf = {
|
keybindings = {
|
||||||
enable = true;
|
"<backspace2>" = "quit";
|
||||||
settings = {
|
"<c-e>" = "half-up";
|
||||||
icons = true;
|
"." = "set hidden!";
|
||||||
autoquit = true;
|
"o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
||||||
mouse = true;
|
"-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\"";
|
||||||
number = true;
|
"<enter>" = "open";
|
||||||
relativenumber = true;
|
"<c-t>" = ":jump <enter>";
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
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, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
papirus-icon-theme
|
papirus-icon-theme
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = "SF Pro Rounded 13";
|
font = "SF Pro Rounded 13";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
show-icons = true;
|
show-icons = true;
|
||||||
icon-theme = "Papirus";
|
icon-theme = "Papirus";
|
||||||
kb-cancel = "Super_L+XF86Launch5,Escape";
|
kb-cancel = "Super_L+XF86Launch5,Escape";
|
||||||
combi-hide-mode-prefix = true;
|
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
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;
|
enable = true;
|
||||||
package = inputs.waybar.packages.${pkgs.system}.waybar;
|
package = inputs.waybar.packages.${pkgs.system}.waybar;
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
height = 35;
|
height = 35;
|
||||||
spacing = 4;
|
spacing = 4;
|
||||||
output = "DP-2";
|
output = "DP-2";
|
||||||
modules-left = ["wlr/taskbar"];
|
modules-left = [ "wlr/taskbar" ];
|
||||||
modules-center = ["hyprland/workspaces"];
|
modules-center = [ "hyprland/workspaces" ];
|
||||||
modules-right = ["tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2"];
|
modules-right = [ "tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2" ];
|
||||||
"wlr/taskbar" = {
|
"wlr/taskbar" = {
|
||||||
on-click = "activate";
|
on-click = "activate";
|
||||||
on-click-right = "close";
|
on-click-right = "close";
|
||||||
format = "{icon} {title:.20}";
|
format = "{icon} {title:.20}";
|
||||||
all-outputs = true;
|
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 = [" " " " " " " " " "];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
"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 = ''
|
style = ''
|
||||||
* {
|
* {
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight:400;
|
font-weight:400;
|
||||||
font-family: "Roboto Sans", "FontAwesome";
|
font-family: "Roboto Sans", "FontAwesome";
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background-color: rgba(0, 0, 0, 0.2);
|
background-color: rgba(0, 0, 0, 0.2);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
transition-property: background-color;
|
transition-property: background-color;
|
||||||
transition-duration: .5s;
|
transition-duration: .5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* window#waybar.hidden { */
|
/* window#waybar.hidden { */
|
||||||
/* opacity: 0.2; */
|
/* opacity: 0.2; */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
button {
|
button {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
button:hover {
|
button:hover {
|
||||||
background: inherit;
|
background: inherit;
|
||||||
box-shadow: inset 0 0 #ffffff;
|
box-shadow: inset 0 0 #ffffff;
|
||||||
}
|
}
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
background-color: #023269;
|
background-color: #023269;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
background-color: #023269;
|
background-color: #023269;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.active {
|
#workspaces button.active {
|
||||||
background-color: #023269;
|
background-color: #023269;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.urgent {
|
#workspaces button.urgent {
|
||||||
background-color: #ed8274;
|
background-color: #ed8274;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#window,
|
#window,
|
||||||
#clock,
|
#clock,
|
||||||
#battery,
|
#battery,
|
||||||
#cpu,
|
#cpu,
|
||||||
#memory,
|
#memory,
|
||||||
#disk,
|
#disk,
|
||||||
#temperature,
|
#temperature,
|
||||||
#backlight,
|
#backlight,
|
||||||
#network,
|
#network,
|
||||||
#pulseaudio,
|
#pulseaudio,
|
||||||
#wireplumber,
|
#wireplumber,
|
||||||
#custom-updates,
|
#custom-updates,
|
||||||
#custom-powermode,
|
#custom-powermode,
|
||||||
#tray {
|
#tray {
|
||||||
padding: 0 14px;
|
padding: 0 14px;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #1f2430;
|
background-color: #1f2430;
|
||||||
margin-left:4px;
|
margin-left:4px;
|
||||||
margin-right:4px;
|
margin-right:4px;
|
||||||
margin-top:2px;
|
margin-top:2px;
|
||||||
margin-bottom:2px;
|
margin-bottom:2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock.clock2,
|
#clock.clock2,
|
||||||
#cpu.cpu2,
|
#cpu.cpu2,
|
||||||
#memory,
|
#memory,
|
||||||
#tray,
|
#tray,
|
||||||
#temperature {
|
#temperature {
|
||||||
background-color: #023269;
|
background-color: #023269;
|
||||||
}
|
}
|
||||||
|
|
||||||
#taskbar button {
|
#taskbar button {
|
||||||
padding: 0 12px;
|
padding: 0 12px;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #1f2430;
|
background-color: #1f2430;
|
||||||
margin-left:4px;
|
margin-left:4px;
|
||||||
margin-right:4px;
|
margin-right:4px;
|
||||||
margin-top:2px;
|
margin-top:2px;
|
||||||
margin-bottom:2px;
|
margin-bottom:2px;
|
||||||
}
|
}
|
||||||
#taskbar button.active {
|
#taskbar button.active {
|
||||||
background-color: #023269;
|
background-color: #023269;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
#window {
|
||||||
font-weight:400;
|
font-weight:400;
|
||||||
margin-left:0;
|
margin-left:0;
|
||||||
}
|
}
|
||||||
window#waybar.empty #window {
|
window#waybar.empty #window {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#clock {
|
||||||
margin-right:0;
|
margin-right:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
margin: 4px 9px;
|
margin: 4px 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If workspaces is the leftmost module, omit left margin */
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
.modules-left > widget:first-child > #workspaces {
|
.modules-left > widget:first-child > #workspaces {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If workspaces is the rightmost module, omit right margin */
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
.modules-right > widget:last-child > #workspaces {
|
.modules-right > widget:last-child > #workspaces {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes blink {
|
@keyframes blink {
|
||||||
to {
|
to {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
#battery.critical:not(.charging) {
|
||||||
background-color: #f53c3c;
|
background-color: #f53c3c;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
animation-name: blink;
|
animation-name: blink;
|
||||||
animation-duration: 0.5s;
|
animation-duration: 0.5s;
|
||||||
animation-timing-function: linear;
|
animation-timing-function: linear;
|
||||||
animation-iteration-count: infinite;
|
animation-iteration-count: infinite;
|
||||||
animation-direction: alternate;
|
animation-direction: alternate;
|
||||||
}
|
}
|
||||||
|
|
||||||
label:focus {
|
label:focus {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-media {
|
#custom-media {
|
||||||
background-color: #66cc99;
|
background-color: #66cc99;
|
||||||
color: #2a5c45;
|
color: #2a5c45;
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-media.custom-spotify {
|
#custom-media.custom-spotify {
|
||||||
background-color: #66cc99;
|
background-color: #66cc99;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-media.custom-vlc {
|
#custom-media.custom-vlc {
|
||||||
background-color: #ffa000;
|
background-color: #ffa000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .passive {
|
#tray > .passive {
|
||||||
-gtk-icon-effect: dim;
|
-gtk-icon-effect: dim;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .needs-attention {
|
#tray > .needs-attention {
|
||||||
-gtk-icon-effect: highlight;
|
-gtk-icon-effect: highlight;
|
||||||
background-color: #eb4d4b;
|
background-color: #eb4d4b;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue