feature(lib for bgs) adding a library for backgrounds

This commit is contained in:
2025-09-06 11:36:42 +02:00
parent 9bbb6b0b2e
commit a11e4961e1
11 changed files with 138 additions and 109 deletions

142
flake.lock generated
View File

@@ -28,11 +28,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1755604323,
"narHash": "sha256-PKxVhfjd2AlzTopuVEx5DJMC4R7LnM5NIoMmirKMsKI=",
"lastModified": 1757042560,
"narHash": "sha256-M+N9yi0ziCVeMGuqMnLRZBoIoZHXCvWNlkLBpyp+4Jo=",
"owner": "anyrun-org",
"repo": "anyrun",
"rev": "af1ffe4f17921825ff2a773995604dce2b2df3cd",
"rev": "df2a914b5acdd0f39ed4bf4336afc9e94fb28be8",
"type": "github"
},
"original": {
@@ -83,11 +83,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1756606761,
"narHash": "sha256-lcHMwq0LVcS1mP9o0pq00Von8PsXMsFPPo3ZXGWa7DU=",
"lastModified": 1757122261,
"narHash": "sha256-K4b+ujyYhbur7TY4JCiiKXdNLeAvsAkoFW8ulOkfayY=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "9e9e58125b4ba190658235106858f9733b25a1b4",
"rev": "e347ef625cf40c90592e419521b0d5127272a045",
"type": "github"
},
"original": {
@@ -142,11 +142,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1756548819,
"narHash": "sha256-1Eb53rxrULE1+MTHhxJTPNMwKKD6bkROd98L8LgMtCM=",
"lastModified": 1756795219,
"narHash": "sha256-tKBQtz1JLKWrCJUxVkHKR+YKmVpm0KZdJdPWmR2slQ8=",
"owner": "nix-community",
"repo": "fenix",
"rev": "9f42df6d931262bc814ef681bcac6de779bebaeb",
"rev": "80dbdab137f2809e3c823ed027e1665ce2502d74",
"type": "github"
},
"original": {
@@ -246,11 +246,11 @@
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@@ -306,11 +306,11 @@
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@@ -464,11 +464,11 @@
},
"hardware": {
"locked": {
"lastModified": 1756245047,
"narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=",
"lastModified": 1757103352,
"narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7",
"rev": "11b2a10c7be726321bb854403fdeec391e798bf0",
"type": "github"
},
"original": {
@@ -483,11 +483,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1756575968,
"narHash": "sha256-Bhu5SuK/NBOaxg0gWHjnTNuv0Gqkw2BpkmWkS8KDXYQ=",
"lastModified": 1757082973,
"narHash": "sha256-mnzEsFAJkw26fvE0SE1jrzdAZrwDDleTTgNL7huXABI=",
"owner": "helix-editor",
"repo": "helix",
"rev": "99cea8c28453c25c600145ada4412dd2a89b6a97",
"rev": "d0218f7e78bc0c3af4b0995ab8bda66b9c542cf3",
"type": "github"
},
"original": {
@@ -503,11 +503,11 @@
]
},
"locked": {
"lastModified": 1756579987,
"narHash": "sha256-duCce8zGsaMsrqqOmLOsuaV1PVIw/vXWnKuLKZClsGg=",
"lastModified": 1757075491,
"narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "99a69bdf8a3c6bf038c4121e9c4b6e99706a187a",
"rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf",
"type": "github"
},
"original": {
@@ -545,11 +545,11 @@
]
},
"locked": {
"lastModified": 1756261190,
"narHash": "sha256-eiy0klFK5EVJLNilutR7grsZN/7Itj9DyD75eyOf83k=",
"lastModified": 1757072639,
"narHash": "sha256-8aC1lUvVpu2BBBgX7iKYyf5nyuGfoyYStxD4es3mzuM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "77f348da3176dc68b20a73dab94852a417daf361",
"rev": "a51e585a05d318f988dfe09ec7fe31de966d9a76",
"type": "github"
},
"original": {
@@ -696,11 +696,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1756498600,
"narHash": "sha256-09FSU9GTVyDlTcXjsjzumfUkIJUwht1DESNh41kufdc=",
"lastModified": 1756977414,
"narHash": "sha256-Hz5S4fILpYd1smWDZ+uLYjHgW22v6JS/04j15I4cFZE=",
"owner": "hyprwm",
"repo": "hyprland",
"rev": "ea42041f936d5810c5cfa45d6bece12dde2fd9b6",
"rev": "4e785d12a91117cd5b255052799d1a051d9976c0",
"type": "github"
},
"original": {
@@ -899,11 +899,11 @@
]
},
"locked": {
"lastModified": 1756305651,
"narHash": "sha256-KttBtdPHDCuD+BT0da8DmBarv6k+9GA9INpeDLLgpc8=",
"lastModified": 1756969494,
"narHash": "sha256-gpTDaJT8CSTqumMdENIw4x+mmbeoP1D3ywuAaOaRfac=",
"owner": "hyprwm",
"repo": "hyprlock",
"rev": "8d0e56998e299ae42f3fd8ede5bb5c396193cdbc",
"rev": "04cfdc4e5bb0e53036e70cc20922ab346ce165cd",
"type": "github"
},
"original": {
@@ -1084,11 +1084,11 @@
]
},
"locked": {
"lastModified": 1756201372,
"narHash": "sha256-bK5j5cwJgO5AZXlDl5AgISzpOv9YV1Fcv2nDr9RW/5o=",
"lastModified": 1757052778,
"narHash": "sha256-rYszJwY0EArAqK6q0i5bB1zxNCNRk6gVmD9SIvnoXW8=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "9f6745bd704ab7f2617d41c2b02f4fd5f9ed0e89",
"rev": "ceaa413a68f28bbf6731464594fdb2c3513e9110",
"type": "github"
},
"original": {
@@ -1107,11 +1107,11 @@
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1754297745,
"narHash": "sha256-aD6/scLN3L4ZszmNbhhd3JQ9Pzv1ScYFphz14wHinfs=",
"lastModified": 1756744479,
"narHash": "sha256-EyZXusK/wRD3V9vDh00W2Re3Eg8UQ+LjVBQrrH9dq1U=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "892cbdca865d6b42f9c0d222fe309f7720259855",
"rev": "747b7912f49e2885090c83364d88cf853a020ac1",
"type": "github"
},
"original": {
@@ -1122,11 +1122,11 @@
},
"mnw": {
"locked": {
"lastModified": 1748710831,
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
"lastModified": 1756659871,
"narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
"rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
"type": "github"
},
"original": {
@@ -1145,11 +1145,11 @@
]
},
"locked": {
"lastModified": 1756604975,
"narHash": "sha256-qLvZwPsuUUL2B/yqFJBeWmz6fdsloQyMAWK/6dYDXMU=",
"lastModified": 1757123094,
"narHash": "sha256-S0lJ5N55/DQuCeudcbZZnBZWeVs+uU+G69hgMMCosTk=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "4c92760b8d12d0d36e8e189d890d1c01a7ae646e",
"rev": "77c3d68d549bfd1d43269ed2584a2cdee6320946",
"type": "github"
},
"original": {
@@ -1230,11 +1230,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1756542300,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "NixOS",
"lastModified": 1756989294,
"narHash": "sha256-vh3F0p7pGvj9tItYjlqiZ3zTJCuw9+d74RhYCYLuaBQ=",
"owner": "PedroHLC",
"repo": "nixpkgs",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"rev": "f04ea9d87566cfe950cf45d7311a9964dcf3bf38",
"type": "github"
},
"original": {
@@ -1310,11 +1310,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1756542300,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"lastModified": 1756787288,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
@@ -1326,11 +1326,11 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1755049066,
"narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=",
"lastModified": 1756696532,
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e45f8f193029378d0aaee5431ba098dc80054e9a",
"rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f",
"type": "github"
},
"original": {
@@ -1349,11 +1349,11 @@
"systems": "systems_4"
},
"locked": {
"lastModified": 1755463179,
"narHash": "sha256-5Ggb1Mhf7ZlRgGi2puCa2PvWs6KbMnWBlW6KW7Vf79Y=",
"lastModified": 1757095994,
"narHash": "sha256-AXwM6/7CuQ39iwBqmc6ZNkVcCdFiK4MFRIGQgU6Mkyk=",
"owner": "notashelf",
"repo": "nvf",
"rev": "03833118267ad32226b014b360692bdce9d6e082",
"rev": "fb31022b366ad21951f0352f0cc282cc6a8e9e6f",
"type": "github"
},
"original": {
@@ -1442,11 +1442,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1756508200,
"narHash": "sha256-5U2p+gLtH17qtAZY1bdY0snoN/gRlQ8nH3LO+Yw3hCk=",
"lastModified": 1756597274,
"narHash": "sha256-wfaKRKsEVQDB7pQtAt04vRgFphkVscGRpSx3wG1l50E=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "67a58fdfebd72f4f9f737f2715ab21a260d88383",
"rev": "21614ed2d3279a9aa1f15c88d293e65a98991b30",
"type": "github"
},
"original": {
@@ -1464,11 +1464,11 @@
]
},
"locked": {
"lastModified": 1756434910,
"narHash": "sha256-5UJRyxZ8QCm+pgh5pNHXFJMmopMqHVraUhRA1g2AmA0=",
"lastModified": 1757039615,
"narHash": "sha256-qm53+EUFfzyF8F0MEscHGqf9tx462GV3/zUZrn9wiQU=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "86e5140961c91a9ee1dde1c17d18a787d44ceef8",
"rev": "4486e04adbb4b0e39f593767f2c36e2211003d01",
"type": "github"
},
"original": {
@@ -1616,11 +1616,11 @@
]
},
"locked": {
"lastModified": 1755934250,
"narHash": "sha256-CsDojnMgYsfshQw3t4zjRUkmMmUdZGthl16bXVWgRYU=",
"lastModified": 1756662192,
"narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "74e1a52d5bd9430312f8d1b8b0354c92c17453e5",
"rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4",
"type": "github"
},
"original": {
@@ -1699,11 +1699,11 @@
]
},
"locked": {
"lastModified": 1756458553,
"narHash": "sha256-hV8jxWBDHb0J6cpIz26+VF9e1Taihki6PDnKk2FuE3Y=",
"lastModified": 1757106493,
"narHash": "sha256-erGDiPr316aVzFoFKX0aaAU1ZHuhn07HySbnYlpOH5w=",
"ref": "refs/heads/main",
"rev": "4925aa405012d20b698cb65c83b0fcd42bb0f9fc",
"revCount": 123,
"rev": "91ee5973cc8c7bd350eb15da5ab6aa0d765c3516",
"revCount": 127,
"type": "git",
"url": "https://git.sr.ht/~canasta/zen-browser-flake"
},

View File

@@ -8,7 +8,7 @@
{
flake.nixosConfigurations =
let
# custom paths
cLib = import ../lib inputs.nixpkgs.lib;
userConfig = "${self}/home";
systemConfig = "${self}/system";
hostConfig = "${self}/hosts";
@@ -19,12 +19,11 @@
umodPath = "${self}/modules/home";
smodPath = "${self}/modules/system";
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;
# get these into the module system
specialArgs = {
inherit
cLib
inputs
self
userConfig

3
lib/default.nix Normal file
View File

@@ -0,0 +1,3 @@
lib: {
theme = import ./theme lib;
}

19
lib/theme/bgs.nix Normal file
View File

@@ -0,0 +1,19 @@
lib: {
bgs = rec {
files = {
wallpaper_1 = "~/media/images/bg_1.jpg";
wallpaper_2 = "~/media/images/bg_2.jpg";
wallpaper_3 = "~/media/images/bg_3.jpg";
wallpaper_4 = "~/media/images/waterwindow.jpg";
wallpaper_5 = "~/media/images/barngreet.png";
};
list = builtins.attrNames files;
resolve = name: if name == null then null else files.${name};
resolveList = names: builtins.filter (x: x != null) (map resolve names);
all = builtins.attrValues files;
};
}

3
lib/theme/default.nix Normal file
View File

@@ -0,0 +1,3 @@
lib: {
inherit ((import ./bgs.nix lib)) bgs;
}

View File

@@ -110,6 +110,10 @@ in
in
{
normal = {
C-up = "move_visual_line_up";
C-down = "move_visual_line_down";
C-left = "move_prev_word_start";
C-right = "move_next_word_start";
d = {
d = [
"extend_to_line_bounds"
@@ -146,6 +150,10 @@ in
space = spaceMode;
};
insert = {
C-up = "move_visual_line_up";
C-down = "move_visual_line_down";
C-left = "move_prev_word_start";
C-right = "move_next_word_start";
C-v = "paste_clipboard_after";
C-c = "yank_to_clipboard";
C-x = "completion";

View File

@@ -4,6 +4,7 @@
config,
lib,
osConfig,
cLib,
...
}:
let
@@ -12,6 +13,9 @@ let
hyprlockFlake = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
# hyprlockPkg = pkgs.hyprlock;
#
bg = osConfig.settings.theme.background;
inherit (cLib.theme.bgs) resolve;
in
{
options = {
@@ -33,7 +37,7 @@ in
background = [
{
monitor = "";
path = osConfig.settings.theme.background.lockscreen;
path = resolve bg.lockscreen;
}
];
input-field = [

View File

@@ -115,11 +115,10 @@
"disable-scroll": true,
"format": "{icon}",
"format-icons": {
"4": "",
"active": "",
"default": "",
"empty": "",
"persistent": ""
"active": "",
"default": "",
"empty": "",
"persistent": ""
},
"on-click": "activate",
"persistent-workspaces": {

View File

@@ -4,6 +4,7 @@
pkgs,
inputs,
osConfig,
cLib,
...
}:
let
@@ -13,22 +14,29 @@ let
hyprpaperFlake = inputs.hyprpaper.packages.${pkgs.system}.default;
bgs = {
wallpaper_1 = "~/media/images/bg_1.jpg";
wallpaper_2 = "~/media/images/bg_2.jpg";
wallpaper_3 = "~/media/images/bg_3.jpg";
wallpaper_4 = "~/media/images/waterwindow.jpg";
wallpaper_5 = "~/media/images/barngreet.png";
};
resolve = name: if name == null then null else bgs.${name};
bg = osConfig.settings.theme.background;
wallpapers = builtins.filter (x: x != null) [
"DP-3,${resolve bg.primary}"
(if bg.secondary != null then "HDMI-A-1,${resolve bg.secondary}" else null)
"eDP-1,${resolve bg.primary}"
"DVI-D-1,${resolve bg.primary}"
bgs = cLib.theme.bgs;
wallpapers = map (m: "${m.monitor},${bgs.resolve m.bg}") monitorMappings;
monitorMappings = [
{
monitor = "DP-3";
bg = bg.primary;
}
{
monitor = "HDMI-A-1";
bg = bg.secondary;
}
{
monitor = "eDP-1";
bg = bg.primary;
}
{
monitor = "DVI-D-1";
bg = bg.primary;
}
];
in
{
@@ -46,8 +54,7 @@ in
splash = false;
splash_offset = 2.0;
preload = builtins.attrValues bgs;
preload = bgs.all;
wallpaper = wallpapers;
};
};

View File

@@ -14,9 +14,6 @@ in
};
config = mkIf cfg.enable {
services.flatpak.enable = true;
environment.systemPackages = with pkgs; [
gnome-software
];
systemd.services.flatpak-repo = {
description = "Add flathub repository";
after = [ "network-online.target" ];

View File

@@ -19,16 +19,6 @@ let
"cnst@bunk" = sharedImports ++ [
./cnst
];
# "cnst@sobotka" =
# sharedImports
# ++ [
# ./cnst
# ];
# "cnst@ziggy" =
# sharedImports
# ++ [
# ./cnst
# ];
"toothpick@toothpc" = sharedImports ++ [
./toothpick
];