big changes

This commit is contained in:
fwastring 2025-10-17 09:51:35 +02:00
parent ac9462c677
commit 51de7ef3a2
14 changed files with 481 additions and 105 deletions

140
flake.lock generated
View file

@ -100,9 +100,29 @@
"type": "github" "type": "github"
} }
}, },
"bbk": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1760346178,
"narHash": "sha256-t/pGM7gQCXNbXusokzBegL3B0e/zXs9PUZ93k5hJV60=",
"ref": "main",
"rev": "268fa2ba6f22dd8f8d8b1efae8068cf94830ca8f",
"revCount": 6,
"type": "git",
"url": "https://git.wastring.com/fw/bbk"
},
"original": {
"ref": "main",
"type": "git",
"url": "https://git.wastring.com/fw/bbk"
}
},
"catppuccin": { "catppuccin": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1759572023, "lastModified": 1759572023,
@ -120,7 +140,7 @@
}, },
"confetti": { "confetti": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1759854845, "lastModified": 1759854845,
@ -245,7 +265,25 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -474,9 +512,9 @@
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
@ -692,7 +730,7 @@
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"hercules-ci-effects": "hercules-ci-effects", "hercules-ci-effects": "hercules-ci-effects",
"neovim-src": "neovim-src", "neovim-src": "neovim-src",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@ -726,6 +764,22 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1760038930,
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1759381078, "lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
@ -741,7 +795,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1759733170, "lastModified": 1759733170,
"narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
@ -757,7 +811,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1759381078, "lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
@ -773,7 +827,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1759632233, "lastModified": 1759632233,
"narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=", "narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=",
@ -789,7 +843,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1759733170, "lastModified": 1759733170,
"narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
@ -805,7 +859,23 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_7": {
"locked": {
"lastModified": 1760038930,
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
@ -846,6 +916,25 @@
"type": "github" "type": "github"
} }
}, },
"playerctl-gtk": {
"inputs": {
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1760272643,
"narHash": "sha256-F6Zh5eCm31QdAnV6JQS/4EhBj8TkqlHkiZpdZ6Ne1Pc=",
"ref": "main",
"rev": "3b2edf9af206704d6b79b3d6174752ce3e506726",
"revCount": 4,
"type": "git",
"url": "https://git.wastring.com/fw/playerctl-gtk"
},
"original": {
"ref": "main",
"type": "git",
"url": "https://git.wastring.com/fw/playerctl-gtk"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -871,13 +960,15 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"bbk": "bbk",
"catppuccin": "catppuccin", "catppuccin": "catppuccin",
"confetti": "confetti", "confetti": "confetti",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"minimal-tmux": "minimal-tmux", "minimal-tmux": "minimal-tmux",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_6",
"playerctl-gtk": "playerctl-gtk",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix",
"typsite": "typsite" "typsite": "typsite"
@ -885,7 +976,7 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1749004659, "lastModified": 1749004659,
@ -934,7 +1025,7 @@
"nixpkgs" "nixpkgs"
], ],
"nur": "nur", "nur": "nur",
"systems": "systems_2", "systems": "systems_3",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
@ -956,6 +1047,21 @@
} }
}, },
"systems": { "systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -970,7 +1076,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": { "systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -985,7 +1091,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": { "systems_4": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -1104,7 +1210,7 @@
}, },
"typsite": { "typsite": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],

View file

@ -19,6 +19,8 @@
catppuccin.url = "github:catppuccin/nix"; catppuccin.url = "github:catppuccin/nix";
confetti.url = "git+https://git.wastring.com/fw/confetti?ref=main"; confetti.url = "git+https://git.wastring.com/fw/confetti?ref=main";
playerctl-gtk.url = "git+https://git.wastring.com/fw/playerctl-gtk?ref=main";
bbk.url = "git+https://git.wastring.com/fw/bbk?ref=main";
# Neovim # Neovim
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
@ -44,6 +46,8 @@
sops-nix, sops-nix,
catppuccin, catppuccin,
confetti, confetti,
playerctl-gtk,
bbk,
... ...
}@inputs: }@inputs:
let let
@ -63,6 +67,7 @@
stylix.nixosModules.stylix stylix.nixosModules.stylix
./maskiner/legacy/configuration.nix ./maskiner/legacy/configuration.nix
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
bbk.nixosModules.default
]; ];
}; };
node = nixpkgs.lib.nixosSystem { node = nixpkgs.lib.nixosSystem {
@ -73,6 +78,7 @@
modules = [ modules = [
./maskiner/node/configuration.nix ./maskiner/node/configuration.nix
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
bbk.nixosModules.default
]; ];
}; };
core = nixpkgs.lib.nixosSystem { core = nixpkgs.lib.nixosSystem {
@ -87,6 +93,8 @@
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
confetti.nixosModules.default confetti.nixosModules.default
playerctl-gtk.nixosModules.default
bbk.nixosModules.default
]; ];
}; };
@ -95,7 +103,10 @@
inherit inputs outputs; inherit inputs outputs;
myhostname = "archive"; myhostname = "archive";
}; };
modules = [ ./maskiner/archive/configuration.nix ]; modules = [
./maskiner/archive/configuration.nix
bbk.nixosModules.default
];
}; };
}; };
}; };

View file

@ -31,10 +31,17 @@ in
]; ];
kubernetes-tools.enable = true; kubernetes-tools.enable = true;
networking.networkmanager = {
enable = true;
plugins = with pkgs; [
networkmanager-openvpn
];
};
stylix = { stylix = {
enable = true; enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
}; };
programs.ssh.knownHosts = { programs.ssh.knownHosts = {

View file

@ -30,6 +30,7 @@ in
( modulesDirectory + /services/actual ) ( modulesDirectory + /services/actual )
( modulesDirectory + /services/forgejo ) ( modulesDirectory + /services/forgejo )
( modulesDirectory + /services/wishlist ) ( modulesDirectory + /services/wishlist )
( modulesDirectory + /services/glance )
]; ];
sops.defaultSopsFile = ../../secrets/sops.yaml; sops.defaultSopsFile = ../../secrets/sops.yaml;
@ -43,6 +44,11 @@ in
mpd = { mpd = {
enable = true; enable = true;
}; };
glance = {
enable = true;
host = "127.0.0.1";
domain = "home.wastring.com";
};
wishlist = { wishlist = {
enable = true; enable = true;
host = "127.0.0.1"; host = "127.0.0.1";

View file

@ -94,11 +94,11 @@ in
splash = false; splash = false;
splash_offset = 2.0; splash_offset = 2.0;
preload = [ "/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png" ]; preload = [ "/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png" "/home/fw/nix/wallpapers/blue.png" ];
wallpaper = [ wallpaper = [
"DP-1,/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png" "DP-1,/home/fw/nix/wallpapers/blue.png"
"eDP-1,/home/fw/nix/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png" "eDP-1,/home/fw/nix/wallpapers/blue.png"
]; ];
}; };
}; };
@ -286,10 +286,14 @@ in
windowrulev2 = [ windowrulev2 = [
"float, class:^(org.pulseaudio.pavucontrol)$" "float, class:^(org.pulseaudio.pavucontrol)$"
"size 500 400, class:^(org.pulseaudio.pavucontrol)" "size 500 400, class:^(org.pulseaudio.pavucontrol)"
"move onscreen cursor -250 0, class:^(org.pulseaudio.pavucontrol)" "move onscreen cursor -250 10, class:^(org.pulseaudio.pavucontrol)"
"float, title:^(Bluetooth Devices)$" "float, title:^(Bluetooth Devices)$"
"size 500 400, title:^(Bluetooth Devices)" "size 500 400, title:^(Bluetooth Devices)"
"move onscreen cursor -250 0, title:^(Bluetooth Devices)" "move onscreen cursor -250 10, title:^(Bluetooth Devices)"
"float, class:^(.playerctl-gtk-wrapped)$"
"size 300 50, class:^(.playerctl-gtk-wrapped)"
"move onscreen cursor -150 30, class:^(.playerctl-gtk-wrapped)"
]; ];
env = [ env = [

View file

@ -15,7 +15,8 @@
shellIntegration = { shellIntegration = {
mode = "no-cursor"; mode = "no-cursor";
}; };
themeFile = "Catppuccin-Mocha"; # themeFile = "Catppuccin-Mocha";
themeFile = "Catppuccin-Latte";
settings = { settings = {
confirm_os_window_close = 2; confirm_os_window_close = 2;
cursor_shape = "block"; cursor_shape = "block";

View file

@ -6,29 +6,29 @@
settings = { settings = {
"$schema"= "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json"; "$schema"= "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json";
# Macchiato # Macchiato
"palette" = {
"os"= "#ACB0BE";
"closer"= "p:os";
"pink"= "#F5BDE6";
"lavender"= "#B7BDF8";
"blue"= "#8aadf4";
"peach" = "#f5a97f";
"red" = "#ed8796";
"green" = "#a6da95";
"mauve" = "#c6a0f6";
};
# Latte
# "palette" = { # "palette" = {
# "os"= "#ACB0BE"; # "os"= "#ACB0BE";
# "closer"= "p:os"; # "closer"= "p:os";
# "pink" = "#ea76cb"; # "pink"= "#F5BDE6";
# "lavender" = "#7287FD"; # "lavender"= "#B7BDF8";
# "blue" = "#1e66f5"; # "blue"= "#8aadf4";
# "peach" = "#fe640b"; # "peach" = "#f5a97f";
# "red" = "#d20f39"; # "red" = "#ed8796";
# "green" = "#40a02b"; # "green" = "#a6da95";
# "mauve" = "#8839ef"; # "mauve" = "#c6a0f6";
# }; # };
# Latte
"palette" = {
"os"= "#ACB0BE";
"closer"= "p:os";
"pink" = "#ea76cb";
"lavender" = "#7287FD";
"blue" = "#1e66f5";
"peach" = "#fe640b";
"red" = "#d20f39";
"green" = "#40a02b";
"mauve" = "#8839ef";
};
"blocks"= [ "blocks"= [
{ {
"alignment"= "left"; "alignment"= "left";

View file

@ -36,8 +36,9 @@
drawio drawio
freecad-wayland freecad-wayland
evince evince
angryipscanner openboard
vlc vlc
vscode
# TUI # TUI
mpc mpc

View file

@ -31,7 +31,7 @@ with lib;
}; };
}; };
xdg.configFile."waybar/config.jsonc".source = config.waybar.configPath; xdg.configFile."waybar/config.jsonc".source = config.waybar.configPath;
xdg.configFile."waybar/style.css".source = ./waybar.css; xdg.configFile."waybar/style.css".source = ./waybar-latte.css;
}; };
# catppuccin.waybar = { # catppuccin.waybar = {
# enable = true; # enable = true;

View file

@ -0,0 +1,146 @@
/* -------- Catppuccin Latte Palette -------- */
@define-color base #EFF1F5;
@define-color mantle #E6E9EF;
@define-color crust #DCE0E8;
@define-color text #4C4F69;
@define-color subtext0 #6C6F85;
@define-color green #40A02B;
@define-color yellow #DF8E1D;
@define-color sky #04A5E5;
@define-color rose #D20F39;
@define-color blue #1E66F5;
@define-color surface2 #ACB0BE;
@define-color peach #FE640B;
/* -------- Base Styles -------- */
* {
font-family: "FiraCode Nerd Font", "Font Awesome 7 Free";
font-size: 15px;
}
window#waybar {
/* background: @base; */
background: transparent;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
transition: background-color .35s ease, color .35s ease;
}
window#waybar.hidden { opacity: 0.2; }
window#waybar.termite { background: @base; }
window#waybar.chromium { background: @base; border: none; }
/* -------- Module “pill” look -------- */
#workspaces, #clock, #mpris, #pulseaudio, #bluetooth, #upower {
background: @base;
border: none;
border-radius: 5px;
padding: 3px 8px;
}
/* consistent gaps between modules */
.modules-left > widget, .modules-right > widget {
margin: 0 15px;
}
.modules-left > widget:first-child { margin-left: 0; }
.modules-right > widget:last-child { margin-right: 0; }
/* -------- Buttons (generic) -------- */
/* Buttons */
button {
border: none;
border-radius: 8px;
background: transparent;
color: @text;
transition: background-color .2s ease, box-shadow .2s ease;
box-shadow: inset 0 -3px transparent;
}
/* hover */
button:hover {
background: rgba(255,255,255,0.08);
box-shadow: inset 0 -3px @green;
}
/* active (no CSS transform in GTK; simulate press with padding + shadow) */
button:active {
padding-top: 1px; /* nudge down visually */
padding-bottom: 1px; /* keep height stable */
box-shadow: inset 0 -2px @green;
color: @base;
}
/* -------- Workspaces -------- */
#workspaces {
background: @base;
}
#workspaces button {
padding: 2px 8px;
margin: 0 2px;
border-radius: 8px;
transition: background-color .2s ease, box-shadow .2s ease;
}
#workspaces button:hover {
background: rgba(255,255,255,0.08);
}
#workspaces button.active, #workspaces button.focused {
background: @green;
color: @base;
box-shadow: inset 0 -3px @green;
}
#workspaces button.urgent {
background: @rose;
color: @base;
box-shadow: inset 0 -3px rgba(0,0,0,0.2);
}
/* -------- Clock -------- */
#clock {
background: @green;
color: @base;
font-weight: 600;
letter-spacing: 0.2px;
}
/* -------- Mpris -------- */
#mpris {
background: @green;
color: @base;
font-weight: 600;
letter-spacing: 0.2px;
}
/* -------- Pavu -------- */
#pulseaudio {
background: @green;
color: @base;
font-weight: 600;
letter-spacing: 0.2px;
}
/* -------- Bluetooth -------- */
#bluetooth {
background: @green;
color: @base;
font-weight: 600;
letter-spacing: 0.2px;
}
/* -------- Upower -------- */
#bluetooth {
background: @green;
color: @base;
font-weight: 600;
letter-spacing: 0.2px;
}
/* -------- Helpers -------- */
@keyframes blink {
to { background-color: @green; color: @base; }
}

View file

@ -1,17 +1,17 @@
/* -------- Catppuccin Mocha Palette -------- */ /* -------- Catppuccin Mocha Palette -------- */
@define-color mocha-base #1E1E2E; @define-color base #1E1E2E;
@define-color mocha-mantle #181825; @define-color mantle #181825;
@define-color mocha-crust #11111B; @define-color crust #11111B;
@define-color mocha-text #CDD6F4; @define-color text #CDD6F4;
@define-color mocha-subtext0 #A6ADC8; @define-color subtext0 #A6ADC8;
@define-color mocha-green #A6E3A1; @define-color green #A6E3A1;
@define-color mocha-yellow #F9E2AF; @define-color yellow #F9E2AF;
@define-color mocha-sky #89DCEB; @define-color sky #89DCEB;
@define-color mocha-rose #F38BA8; @define-color rose #F38BA8;
@define-color mocha-blue #89B4FA; @define-color blue #89B4FA;
@define-color mocha-surface2 #585B70; @define-color surface2 #585B70;
@define-color mocha-peach #fab387; @define-color peach #fab387;
/* -------- Base Styles -------- */ /* -------- Base Styles -------- */
* { * {
@ -20,7 +20,7 @@
} }
window#waybar { window#waybar {
/* background: @mocha-base; */ /* background: @base; */
background: transparent; background: transparent;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
transition: background-color .35s ease, color .35s ease; transition: background-color .35s ease, color .35s ease;
@ -28,12 +28,12 @@ window#waybar {
window#waybar.hidden { opacity: 0.2; } window#waybar.hidden { opacity: 0.2; }
window#waybar.termite { background: @mocha-base; } window#waybar.termite { background: @base; }
window#waybar.chromium { background: @mocha-base; border: none; } window#waybar.chromium { background: @base; border: none; }
/* -------- Module “pill” look -------- */ /* -------- Module “pill” look -------- */
#workspaces, #clock, #mpris, #pulseaudio, #bluetooth, #upower { #workspaces, #clock, #mpris, #pulseaudio, #bluetooth, #upower {
background: @mocha-base; background: @base;
border: none; border: none;
border-radius: 5px; border-radius: 5px;
padding: 3px 8px; padding: 3px 8px;
@ -52,7 +52,7 @@ button {
border: none; border: none;
border-radius: 8px; border-radius: 8px;
background: transparent; background: transparent;
color: @mocha-text; color: @text;
transition: background-color .2s ease, box-shadow .2s ease; transition: background-color .2s ease, box-shadow .2s ease;
box-shadow: inset 0 -3px transparent; box-shadow: inset 0 -3px transparent;
} }
@ -60,20 +60,20 @@ button {
/* hover */ /* hover */
button:hover { button:hover {
background: rgba(255,255,255,0.08); background: rgba(255,255,255,0.08);
box-shadow: inset 0 -3px @mocha-peach; box-shadow: inset 0 -3px @peach;
} }
/* active (no CSS transform in GTK; simulate press with padding + shadow) */ /* active (no CSS transform in GTK; simulate press with padding + shadow) */
button:active { button:active {
padding-top: 1px; /* nudge down visually */ padding-top: 1px; /* nudge down visually */
padding-bottom: 1px; /* keep height stable */ padding-bottom: 1px; /* keep height stable */
box-shadow: inset 0 -2px @mocha-peach; box-shadow: inset 0 -2px @peach;
color: @mocha-base; color: @base;
} }
/* -------- Workspaces -------- */ /* -------- Workspaces -------- */
#workspaces { #workspaces {
background: @mocha-base; background: @base;
} }
#workspaces button { #workspaces button {
@ -88,58 +88,58 @@ button:active {
} }
#workspaces button.active, #workspaces button.focused { #workspaces button.active, #workspaces button.focused {
background: @mocha-peach; background: @peach;
color: @mocha-base; color: @base;
box-shadow: inset 0 -3px @mocha-peach; box-shadow: inset 0 -3px @peach;
} }
#workspaces button.urgent { #workspaces button.urgent {
background: @mocha-rose; background: @rose;
color: @mocha-base; color: @base;
box-shadow: inset 0 -3px rgba(0,0,0,0.2); box-shadow: inset 0 -3px rgba(0,0,0,0.2);
} }
/* -------- Clock -------- */ /* -------- Clock -------- */
#clock { #clock {
background: @mocha-peach; background: @peach;
color: @mocha-base; color: @base;
font-weight: 600; font-weight: 600;
letter-spacing: 0.2px; letter-spacing: 0.2px;
} }
/* -------- Mpris -------- */ /* -------- Mpris -------- */
#mpris { #mpris {
background: @mocha-peach; background: @peach;
color: @mocha-base; color: @base;
font-weight: 600; font-weight: 600;
letter-spacing: 0.2px; letter-spacing: 0.2px;
} }
/* -------- Pavu -------- */ /* -------- Pavu -------- */
#pulseaudio { #pulseaudio {
background: @mocha-peach; background: @peach;
color: @mocha-base; color: @base;
font-weight: 600; font-weight: 600;
letter-spacing: 0.2px; letter-spacing: 0.2px;
} }
/* -------- Bluetooth -------- */ /* -------- Bluetooth -------- */
#bluetooth { #bluetooth {
background: @mocha-peach; background: @peach;
color: @mocha-base; color: @base;
font-weight: 600; font-weight: 600;
letter-spacing: 0.2px; letter-spacing: 0.2px;
} }
/* -------- Upower -------- */ /* -------- Upower -------- */
#bluetooth { #bluetooth {
background: @mocha-peach; background: @peach;
color: @mocha-base; color: @base;
font-weight: 600; font-weight: 600;
letter-spacing: 0.2px; letter-spacing: 0.2px;
} }
/* -------- Helpers -------- */ /* -------- Helpers -------- */
@keyframes blink { @keyframes blink {
to { background-color: @mocha-peach; color: @mocha-base; } to { background-color: @peach; color: @base; }
} }

View file

@ -27,9 +27,8 @@
"interval": 1, "interval": 1,
"tooltip": true, "tooltip": true,
"tooltip-format": "{player} — {status}\n{artist}\n{title}\n{album}", "tooltip-format": "{player} — {status}\n{artist}\n{title}\n{album}",
"on-click": "playerctl -p Feishin play-pause", // "on-click": "playerctl -p Feishin play-pause",
"on-scroll-up": "playerctl -p Feishin next", "on-click": "pgrep playerctl-gtk && pkill playerctl-gtk || playerctl-gtk &",
"on-scroll-down": "playerctl -p Feishin previous"
}, },
"bluetooth": { "bluetooth": {
"format": " {status}", "format": " {status}",

View file

@ -68,25 +68,25 @@ with lib;
sops.secrets.forgejo-runner-token = {}; sops.secrets.forgejo-runner-token = {};
services.gitea-actions-runner = { # services.gitea-actions-runner = {
package = pkgs.forgejo-actions-runner; # package = pkgs.forgejo-actions-runner;
instances.default = { # instances.default = {
enable = true; # enable = true;
name = "monolith"; # name = "monolith";
url = "https://git.wastring.com"; # url = "https://git.wastring.com";
# Obtaining the path to the runner token file may differ # # Obtaining the path to the runner token file may differ
# tokenFile should be in format TOKEN=<secret>, since it's EnvironmentFile for systemd # # tokenFile should be in format TOKEN=<secret>, since it's EnvironmentFile for systemd
tokenFile = config.sops.secrets.forgejo-runner-token.path; # tokenFile = config.sops.secrets.forgejo-runner-token.path;
labels = [ # labels = [
"ubuntu-latest:docker://node:20-bullseye" # "ubuntu-latest:docker://node:20-bullseye"
# "ubuntu-22.04:docker://node:16-bullseye" # # "ubuntu-22.04:docker://node:16-bullseye"
# "ubuntu-20.04:docker://node:16-bullseye" # # "ubuntu-20.04:docker://node:16-bullseye"
# "ubuntu-18.04:docker://node:16-buster" # # "ubuntu-18.04:docker://node:16-buster"
## optionally provide native execution on the host: # ## optionally provide native execution on the host:
# "native:host" # # "native:host"
]; # ];
}; # };
}; # };
services.forgejo = { services.forgejo = {
enable = true; enable = true;

View file

@ -0,0 +1,95 @@
{
lib,
pkgs,
config,
...
}:
with lib;
{
options = {
glance = {
enable = mkEnableOption "enables glance";
port = lib.mkOption {
type = lib.types.int;
default = 8857;
description = "The port glance listens on.";
};
host = mkOption {
type = types.str;
defaultText = literalExpression "127.0.0.1";
description = "The hostname that glance binds to";
};
domain = mkOption {
type = types.str;
defaultText = literalExpression "home.wastring.com";
description = "The hostname that glance binds to";
};
};
};
config = mkMerge [
(mkIf config.glance.enable {
services.glance = {
enable = true;
settings = {
theme = {
background-color = "240 21 15";
contrast-multiplier = 1.2;
primary-color = "217 92 83";
positive-color = "115 54 76";
negative-color = "347 70 65";
};
server = {
host = config.glance.host;
port = config.glance.port;
};
pages = [
{
name = "Home";
columns = [
{
size = "small";
widgets = [
{ type = "calendar"; }
];
}
{
size = "full";
widgets = [
{
type = "videos";
style = "vertical-list";
channels = [
"UCwHwDuNd9lCdA7chyyquDXw"
"UC7YOGHUfC1Tb6E4pudI9STA"
"UCs76MNovGkuNYNZCmrxcb3Q"
];
}
];
}
{
size = "small";
widgets = [
{
type = "weather";
location = "Malmö, Sweden";
}
];
}
];
}
];
};
};
services.nginx.virtualHosts.${config.glance.domain} = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${toString config.glance.host}:${toString config.glance.port}";
proxyWebsockets = true;
};
};
})
];
}