HASH 3f1184697726
DATE 2024-12-08
SUBJECT nixos: initial bitmap font support
FILES 10 CHANGED
HASH 3f1184697726
DATE 2024-12-08
SUBJECT nixos: initial bitmap font support
FILES 10 CHANGED
┌─ hosts/ooksdesk/default.nix ───────────────────────────────────────────────┐
│ diff --git a/hosts/ooksdesk/default.nix b/hosts/ooksdesk/default.nix │
│ index ccb862e..b3f3359 100644 │
│ --- a/hosts/ooksdesk/default.nix │
│ +++ b/hosts/ooksdesk/default.nix │
│ @@ -18,7 +18,7 @@ │
│ }; │
│ workstation = { │
│ environment = "hyprland"; │
│ - theme = "minimal"; │
│ + theme = "hozen"; │
│ profiles = ["creative" "virtualization" "gaming" "media" "communication" "p │
│ roductivity"]; │
│ default = { │
│ browser = "firefox"; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ hosts/ooksdesk/default.nix ─────────┐
│ diff --git a/hosts/ooksdesk/default.nix b/ho │
│ sts/ooksdesk/default.nix │
│ index ccb862e..b3f3359 100644 │
│ --- a/hosts/ooksdesk/default.nix │
│ +++ b/hosts/ooksdesk/default.nix │
│ @@ -18,7 +18,7 @@ │
│ }; │
│ workstation = { │
│ environment = "hyprland"; │
│ - theme = "minimal"; │
│ + theme = "hozen"; │
│ profiles = ["creative" "virtualizatio │
│ n" "gaming" "media" "communication" "product │
│ ivity"]; │
│ default = { │
│ browser = "firefox"; │
└──────────────────────────────────────────────┘
┌─ modules/home/console/tools/starship.nix ──────────────────────────────────┐
│ diff --git a/modules/home/console/tools/starship.nix b/modules/home/console/tools/ │
│ starship.nix │
│ index deb4449..95cd762 100644 │
│ --- a/modules/home/console/tools/starship.nix │
│ +++ b/modules/home/console/tools/starship.nix │
│ @@ -51,9 +51,9 @@ in { │
│ elixir.symbol = "? "; │
│ elm.symbol = "? "; │
│ gcloud.symbol = "? "; │
│ - git_branch.symbol = "? "; │
│ + git_branch.symbol = "?"; │
│ golang.symbol = "? "; │
│ - hg_branch.symbol = "? "; │
│ + hg_branch.symbol = "?"; │
│ java.symbol = "? "; │
│ julia.symbol = "? "; │
│ memory_usage.symbol = "? "; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...me/console/tools/starship.nix ───┐
│ diff --git a/modules/home/console/tools/star │
│ ship.nix b/modules/home/console/tools/starsh │
│ ip.nix │
│ index deb4449..95cd762 100644 │
│ --- a/modules/home/console/tools/starship.ni │
│ x │
│ +++ b/modules/home/console/tools/starship.ni │
│ x │
│ @@ -51,9 +51,9 @@ in { │
│ elixir.symbol = "? "; │
│ elm.symbol = "? "; │
│ gcloud.symbol = "? "; │
│ - git_branch.symbol = "? "; │
│ + git_branch.symbol = "?"; │
│ golang.symbol = "? "; │
│ - hg_branch.symbol = "? "; │
│ + hg_branch.symbol = "?"; │
│ java.symbol = "? "; │
│ julia.symbol = "? "; │
│ memory_usage.symbol = "? "; │
└──────────────────────────────────────────────┘
┌─ modules/home/workstation/appearance/fonts.nix ────────────────────────────┐
│ diff --git a/modules/home/workstation/appearance/fonts.nix b/modules/home/workstat │
│ ion/appearance/fonts.nix │
│ index 2354d11..1a42574 100644 │
│ --- a/modules/home/workstation/appearance/fonts.nix │
│ +++ b/modules/home/workstation/appearance/fonts.nix │
│ @@ -13,5 +13,7 @@ in { │
│ pkgs.noto-fonts │
│ pkgs.noto-fonts-cjk-sans │
│ pkgs.noto-fonts-emoji │
│ + (pkgs.nerdfonts.override │
│ + {fonts = ["NerdFontsSymbolsOnly"];}) │
│ ]; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...kstation/appearance/fonts.nix ───┐
│ diff --git a/modules/home/workstation/appear │
│ ance/fonts.nix b/modules/home/workstation/ap │
│ pearance/fonts.nix │
│ index 2354d11..1a42574 100644 │
│ --- a/modules/home/workstation/appearance/fo │
│ nts.nix │
│ +++ b/modules/home/workstation/appearance/fo │
│ nts.nix │
│ @@ -13,5 +13,7 @@ in { │
│ pkgs.noto-fonts │
│ pkgs.noto-fonts-cjk-sans │
│ pkgs.noto-fonts-emoji │
│ + (pkgs.nerdfonts.override │
│ + {fonts = ["NerdFontsSymbolsOnly"];}) │
│ ]; │
│ } │
└──────────────────────────────────────────────┘
┌─ modules/home/workstation/hyprland/components/waybar.nix ──────────────────┐
│ diff --git a/modules/home/workstation/hyprland/components/waybar.nix b/modules/hom │
│ e/workstation/hyprland/components/waybar.nix │
│ index 89ac6b0..16c44b7 100644 │
│ --- a/modules/home/workstation/hyprland/components/waybar.nix │
│ +++ b/modules/home/workstation/hyprland/components/waybar.nix │
│ @@ -23,13 +23,13 @@ in { │
│ settings.mainBar = { │
│ layer = "top"; │
│ position = "top"; │
│ - height = 30; │
│ + height = 32; │
│ width = monitorWidth; │
│ exclusive = true; │
│ margin-top = 10; │
│ margin-bottom = -12; │
│ │
│ - modules-left = ["clock" "battery" "hyprland/workspaces"]; │
│ + modules-left = ["custom/logo" "clock" "battery" "hyprland/workspaces"]; │
│ modules-center = []; │
│ modules-right = ["custom/hyprrecord" "tray"]; │
│ │
│ @@ -82,6 +82,11 @@ in { │
│ on-click = "exec hyprrecord -a --waybar screen copysave video"; │
│ signal = 12; │
│ }; │
│ + "custom/logo" = { │
│ + format = " "; │
│ + tooltop = "false"; │
│ + on-click = "exec notify-send 'hello!'"; │
│ + }; │
│ }; │
│ style = │
│ /* │
│ @@ -89,8 +94,8 @@ in { │
│ */ │
│ '' │
│ * { │
│ - font-family: "${fonts.monospace.family}"; │
│ - font-size: 19px; │
│ + font-family: "${fonts.monospace.family}:style=Medium"; │
│ + font-size: ${toString fonts.monospace.size}px; │
│ border: solid #${color.border.base}; │
│ } │
│ │
│ @@ -153,6 +158,13 @@ in { │
│ color: #${color.orange.base}; │
│ } │
│ │
│ + #custom-logo { │
│ + background-image: url('/home/ooks/Media/Pictures/my-art/pixel-art/inf │
│ o-icon.svg'); │
│ + background-position: center; │
│ + background-repeat: no-repeat; │
│ + background-size: 24px; │
│ + } │
│ + │
│ #custom-hyprrecord { │
│ color: #${color.red.base}; │
│ padding-right: 20px; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...yprland/components/waybar.nix ───┐
│ diff --git a/modules/home/workstation/hyprla │
│ nd/components/waybar.nix b/modules/home/work │
│ station/hyprland/components/waybar.nix │
│ index 89ac6b0..16c44b7 100644 │
│ --- a/modules/home/workstation/hyprland/comp │
│ onents/waybar.nix │
│ +++ b/modules/home/workstation/hyprland/comp │
│ onents/waybar.nix │
│ @@ -23,13 +23,13 @@ in { │
│ settings.mainBar = { │
│ layer = "top"; │
│ position = "top"; │
│ - height = 30; │
│ + height = 32; │
│ width = monitorWidth; │
│ exclusive = true; │
│ margin-top = 10; │
│ margin-bottom = -12; │
│ │
│ - modules-left = ["clock" "battery" " │
│ hyprland/workspaces"]; │
│ + modules-left = ["custom/logo" "cloc │
│ k" "battery" "hyprland/workspaces"]; │
│ modules-center = []; │
│ modules-right = ["custom/hyprrecord │
│ " "tray"]; │
│ │
│ @@ -82,6 +82,11 @@ in { │
│ on-click = "exec hyprrecord -a -- │
│ waybar screen copysave video"; │
│ signal = 12; │
│ }; │
│ + "custom/logo" = { │
│ + format = " "; │
│ + tooltop = "false"; │
│ + on-click = "exec notify-send 'hel │
│ lo!'"; │
│ + }; │
│ }; │
│ style = │
│ /* │
│ @@ -89,8 +94,8 @@ in { │
│ */ │
│ '' │
│ * { │
│ - font-family: "${fonts.monospace │
│ .family}"; │
│ - font-size: 19px; │
│ + font-family: "${fonts.monospace │
│ .family}:style=Medium"; │
│ + font-size: ${toString fonts.mon │
│ ospace.size}px; │
│ border: solid #${color.border.b │
│ ase}; │
│ } │
│ │
│ @@ -153,6 +158,13 @@ in { │
│ color: #${color.orange.base}; │
│ } │
│ │
│ + #custom-logo { │
│ + background-image: url('/home/oo │
│ ks/Media/Pictures/my-art/pixel-art/info-icon │
│ .svg'); │
│ + background-position: center; │
│ + background-repeat: no-repeat; │
│ + background-size: 24px; │
│ + } │
│ + │
│ #custom-hyprrecord { │
│ color: #${color.red.base}; │
│ padding-right: 20px; │
└──────────────────────────────────────────────┘
┌─ modules/home/workstation/hyprland/settings/appearance.nix ────────────────┐
│ diff --git a/modules/home/workstation/hyprland/settings/appearance.nix b/modules/h │
│ ome/workstation/hyprland/settings/appearance.nix │
│ index 2f06c55..2b15154 100644 │
│ --- a/modules/home/workstation/hyprland/settings/appearance.nix │
│ +++ b/modules/home/workstation/hyprland/settings/appearance.nix │
│ @@ -1,22 +1,24 @@ │
│ { │
│ osConfig, │
│ hozen, │
│ + inputs', │
│ ... │
│ }: let │
│ inherit (osConfig.ooknet.appearance) cursor; │
│ inherit (hozen) color; │
│ in { │
│ wayland.windowManager.hyprland = { │
│ + plugins = [inputs'.hyprland-plugins.packages.borders-plus-plus]; │
│ settings = { │
│ # cursor = { │
│ # inactive_timeout = 4; │
│ # }; │
│ general = { │
│ + border_size = 2; │
│ + "col.inactive_border" = "rgb(${color.neutrals."700"})"; │
│ + "col.active_border" = "rgb(${color.neutrals."650"})"; │
│ gaps_in = 10; │
│ gaps_out = 10; │
│ - border_size = 2; │
│ - "col.active_border" = "0xff${color.border.active}"; │
│ - "col.inactive_border" = "0xff${color.border.inactive}"; │
│ }; │
│ │
│ exec-once = [ │
│ @@ -35,12 +37,23 @@ in { │
│ ignore_opacity = true; │
│ }; │
│ shadow = { │
│ - range = 12; │
│ - offset = "3 3"; │
│ - color = "0x44000000"; │
│ - color_inactive = "0x66000000"; │
│ + enabled = true; │
│ + range = 2; │
│ + sharp = true; │
│ + offset = "2 2"; │
│ + color = "0xff${color.neutrals."850"}"; │
│ + color_inactive = "0xff${color.neutrals."850"}"; │
│ }; │
│ }; │
│ + "plugin:borders-plus-plus" = { │
│ + enabled = true; │
│ + add_borders = 1; │
│ + "col.border_1" = "rgb(${color.neutrals."600"})"; │
│ + │
│ + border_size_1 = 2; │
│ + border_size_2 = 2; │
│ + natural_rounding = false; │
│ + }; │
│ animations = { │
│ enabled = false; │
│ }; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...rland/settings/appearance.nix ───┐
│ diff --git a/modules/home/workstation/hyprla │
│ nd/settings/appearance.nix b/modules/home/wo │
│ rkstation/hyprland/settings/appearance.nix │
│ index 2f06c55..2b15154 100644 │
│ --- a/modules/home/workstation/hyprland/sett │
│ ings/appearance.nix │
│ +++ b/modules/home/workstation/hyprland/sett │
│ ings/appearance.nix │
│ @@ -1,22 +1,24 @@ │
│ { │
│ osConfig, │
│ hozen, │
│ + inputs', │
│ ... │
│ }: let │
│ inherit (osConfig.ooknet.appearance) curs │
│ or; │
│ inherit (hozen) color; │
│ in { │
│ wayland.windowManager.hyprland = { │
│ + plugins = [inputs'.hyprland-plugins.pac │
│ kages.borders-plus-plus]; │
│ settings = { │
│ # cursor = { │
│ # inactive_timeout = 4; │
│ # }; │
│ general = { │
│ + border_size = 2; │
│ + "col.inactive_border" = "rgb(${colo │
│ r.neutrals."700"})"; │
│ + "col.active_border" = "rgb(${color. │
│ neutrals."650"})"; │
│ gaps_in = 10; │
│ gaps_out = 10; │
│ - border_size = 2; │
│ - "col.active_border" = "0xff${color. │
│ border.active}"; │
│ - "col.inactive_border" = "0xff${colo │
│ r.border.inactive}"; │
│ }; │
│ │
│ exec-once = [ │
│ @@ -35,12 +37,23 @@ in { │
│ ignore_opacity = true; │
│ }; │
│ shadow = { │
│ - range = 12; │
│ - offset = "3 3"; │
│ - color = "0x44000000"; │
│ - color_inactive = "0x66000000"; │
│ + enabled = true; │
│ + range = 2; │
│ + sharp = true; │
│ + offset = "2 2"; │
│ + color = "0xff${color.neutrals."85 │
│ 0"}"; │
│ + color_inactive = "0xff${color.neu │
│ trals."850"}"; │
│ }; │
│ }; │
│ + "plugin:borders-plus-plus" = { │
│ + enabled = true; │
│ + add_borders = 1; │
│ + "col.border_1" = "rgb(${color.neutr │
│ als."600"})"; │
│ + │
│ + border_size_1 = 2; │
│ + border_size_2 = 2; │
│ + natural_rounding = false; │
│ + }; │
│ animations = { │
│ enabled = false; │
│ }; │
└──────────────────────────────────────────────┘
┌─ modules/home/workstation/terminal/foot.nix ───────────────────────────────┐
│ diff --git a/modules/home/workstation/terminal/foot.nix b/modules/home/workstation │
│ /terminal/foot.nix │
│ index 2c481cf..3a6f95b 100644 │
│ --- a/modules/home/workstation/terminal/foot.nix │
│ +++ b/modules/home/workstation/terminal/foot.nix │
│ @@ -9,6 +9,10 @@ │
│ inherit (lib) mkMerge mkIf; │
│ inherit (osConfig.ooknet.workstation) default; │
│ cfg = osConfig.ooknet.workstation.programs.foot; │
│ + fontOptions = let │
│ + size = if fonts.monospace.bitmap then "pixelsize" else "size"; │
│ + family = if fonts.monospace.bitmap then "${fonts.monospace.family}:style=Medi │
│ um" else "${fonts.monospace.family}"; │
│ + in "${family}:${size}${toString fonts.monospace.size}"; │
│ in { │
│ config = mkMerge [ │
│ (mkIf (cfg.enable || default.terminal == "foot") { │
│ @@ -18,12 +22,12 @@ in { │
│ settings = { │
│ main = { │
│ term = "xterm-256color"; │
│ - font = "${fonts.monospace.family}:pixelsize=18:antialias=true"; │
│ - font-bold = "${fonts.monospace.family}:style=Bold:pixelsize=18:antial │
│ ias=true"; │
│ - font-italic = "${fonts.monospace.family}:style=Italic:pixelsize=18:an │
│ tialias=true"; │
│ - font-bold-italic = "${fonts.monospace.family}:style=Bold Italic:pixel │
│ size=18:antialias=true"; │
│ - dpi-aware = "yes"; │
│ - letter-spacing = "-1px"; │
│ + font = "${fonts.monospace.family}:style=Medium:pixelsize=${toString f │
│ onts.monospace.size}",${fonts.monospace.fallback.family}; │
│ + font-bold = "${fonts.monospace.family}:style=Medium:pixelsize=${toStr │
│ ing fonts.monospace.size}"; │
│ + font-italic = "${fonts.monospace.family}:style=Medium:pixelsize=${toS │
│ tring fonts.monospace.size}"; │
│ + font-bold-italic = "${fonts.monospace.family}:style=Medium:pixelsize= │
│ ${toString fonts.monospace.size}"; │
│ + dpi-aware = "no"; │
│ + letter-spacing = "0"; │
│ bold-text-in-bright = "palette-based"; │
│ resize-delay-ms = "80"; │
│ pad = "9x9 center"; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...workstation/terminal/foot.nix ───┐
│ diff --git a/modules/home/workstation/termin │
│ al/foot.nix b/modules/home/workstation/termi │
│ nal/foot.nix │
│ index 2c481cf..3a6f95b 100644 │
│ --- a/modules/home/workstation/terminal/foot │
│ .nix │
│ +++ b/modules/home/workstation/terminal/foot │
│ .nix │
│ @@ -9,6 +9,10 @@ │
│ inherit (lib) mkMerge mkIf; │
│ inherit (osConfig.ooknet.workstation) def │
│ ault; │
│ cfg = osConfig.ooknet.workstation.program │
│ s.foot; │
│ + fontOptions = let │
│ + size = if fonts.monospace.bitmap then " │
│ pixelsize" else "size"; │
│ + family = if fonts.monospace.bitmap then │
│ "${fonts.monospace.family}:style=Medium" el │
│ se "${fonts.monospace.family}"; │
│ + in "${family}:${size}${toString fonts.mon │
│ ospace.size}"; │
│ in { │
│ config = mkMerge [ │
│ (mkIf (cfg.enable || default.terminal = │
│ = "foot") { │
│ @@ -18,12 +22,12 @@ in { │
│ settings = { │
│ main = { │
│ term = "xterm-256color"; │
│ - font = "${fonts.monospace.famil │
│ y}:pixelsize=18:antialias=true"; │
│ - font-bold = "${fonts.monospace. │
│ family}:style=Bold:pixelsize=18:antialias=tr │
│ ue"; │
│ - font-italic = "${fonts.monospac │
│ e.family}:style=Italic:pixelsize=18:antialia │
│ s=true"; │
│ - font-bold-italic = "${fonts.mon │
│ ospace.family}:style=Bold Italic:pixelsize=1 │
│ 8:antialias=true"; │
│ - dpi-aware = "yes"; │
│ - letter-spacing = "-1px"; │
│ + font = "${fonts.monospace.famil │
│ y}:style=Medium:pixelsize=${toString fonts.m │
│ onospace.size}",${fonts.monospace.fallback.f │
│ amily}; │
│ + font-bold = "${fonts.monospace. │
│ family}:style=Medium:pixelsize=${toString fo │
│ nts.monospace.size}"; │
│ + font-italic = "${fonts.monospac │
│ e.family}:style=Medium:pixelsize=${toString │
│ fonts.monospace.size}"; │
│ + font-bold-italic = "${fonts.mon │
│ ospace.family}:style=Medium:pixelsize=${toSt │
│ ring fonts.monospace.size}"; │
│ + dpi-aware = "no"; │
│ + letter-spacing = "0"; │
│ bold-text-in-bright = "palette- │
│ based"; │
│ resize-delay-ms = "80"; │
│ pad = "9x9 center"; │
└──────────────────────────────────────────────┘
┌─ modules/nixos/appearance/options.nix ─────────────────────────────────────┐
│ diff --git a/modules/nixos/appearance/options.nix b/modules/nixos/appearance/optio │
│ ns.nix │
│ index da0de81..aea78c4 100644 │
│ --- a/modules/nixos/appearance/options.nix │
│ +++ b/modules/nixos/appearance/options.nix │
│ @@ -1,6 +1,6 @@ │
│ {lib, ...}: let │
│ inherit (lib) mkOption; │
│ - inherit (lib.types) str package path int; │
│ + inherit (lib.types) str package path int bool; │
│ │
│ mkFontOption = { │
│ family = mkOption { │
│ @@ -11,6 +11,28 @@ │
│ type = package; │
│ default = null; │
│ }; │
│ + size = mkOption { │
│ + type = int; │
│ + default = 18; │
│ + }; │
│ + bitmap = mkOption { │
│ + type = bool; │
│ + default = false; │
│ + }; │
│ + fallback = { │
│ + family = mkOption { │
│ + type = str; │
│ + default = ""; │
│ + }; │
│ + package = mkOption { │
│ + type = package; │
│ + default = null; │
│ + }; │
│ + size = mkOption { │
│ + type = int; │
│ + default = null; │
│ + }; │
│ + }; │
│ }; │
│ in { │
│ # imports = [./palettes]; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../nixos/appearance/options.nix ───┐
│ diff --git a/modules/nixos/appearance/option │
│ s.nix b/modules/nixos/appearance/options.nix │
│ index da0de81..aea78c4 100644 │
│ --- a/modules/nixos/appearance/options.nix │
│ +++ b/modules/nixos/appearance/options.nix │
│ @@ -1,6 +1,6 @@ │
│ {lib, ...}: let │
│ inherit (lib) mkOption; │
│ - inherit (lib.types) str package path int; │
│ + inherit (lib.types) str package path int │
│ bool; │
│ │
│ mkFontOption = { │
│ family = mkOption { │
│ @@ -11,6 +11,28 @@ │
│ type = package; │
│ default = null; │
│ }; │
│ + size = mkOption { │
│ + type = int; │
│ + default = 18; │
│ + }; │
│ + bitmap = mkOption { │
│ + type = bool; │
│ + default = false; │
│ + }; │
│ + fallback = { │
│ + family = mkOption { │
│ + type = str; │
│ + default = ""; │
│ + }; │
│ + package = mkOption { │
│ + type = package; │
│ + default = null; │
│ + }; │
│ + size = mkOption { │
│ + type = int; │
│ + default = null; │
│ + }; │
│ + }; │
│ }; │
│ in { │
│ # imports = [./palettes]; │
└──────────────────────────────────────────────┘
┌─ modules/nixos/workstation/options.nix ────────────────────────────────────┐
│ diff --git a/modules/nixos/workstation/options.nix b/modules/nixos/workstation/opt │
│ ions.nix │
│ index f4e72a4..7f1ff9b 100644 │
│ --- a/modules/nixos/workstation/options.nix │
│ +++ b/modules/nixos/workstation/options.nix │
│ @@ -4,7 +4,7 @@ │
│ in { │
│ options.ooknet.workstation = { │
│ theme = mkOption { │
│ - type = nullOr (enum ["minimal"]); │
│ + type = nullOr (enum ["minimal" "hozen"]); │
│ default = null; │
│ }; │
│ profiles = mkOption { │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...nixos/workstation/options.nix ───┐
│ diff --git a/modules/nixos/workstation/optio │
│ ns.nix b/modules/nixos/workstation/options.n │
│ ix │
│ index f4e72a4..7f1ff9b 100644 │
│ --- a/modules/nixos/workstation/options.nix │
│ +++ b/modules/nixos/workstation/options.nix │
│ @@ -4,7 +4,7 @@ │
│ in { │
│ options.ooknet.workstation = { │
│ theme = mkOption { │
│ - type = nullOr (enum ["minimal"]); │
│ + type = nullOr (enum ["minimal" "hozen │
│ "]); │
│ default = null; │
│ }; │
│ profiles = mkOption { │
└──────────────────────────────────────────────┘
┌─ modules/nixos/workstation/themes/default.nix ─────────────────────────────┐
│ diff --git a/modules/nixos/workstation/themes/default.nix b/modules/nixos/workstat │
│ ion/themes/default.nix │
│ index a153a13..269af8e 100644 │
│ --- a/modules/nixos/workstation/themes/default.nix │
│ +++ b/modules/nixos/workstation/themes/default.nix │
│ @@ -1,5 +1,6 @@ │
│ { │
│ imports = [ │
│ ./minimal.nix │
│ + ./hozen.nix │
│ ]; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...orkstation/themes/default.nix ───┐
│ diff --git a/modules/nixos/workstation/theme │
│ s/default.nix b/modules/nixos/workstation/th │
│ emes/default.nix │
│ index a153a13..269af8e 100644 │
│ --- a/modules/nixos/workstation/themes/defau │
│ lt.nix │
│ +++ b/modules/nixos/workstation/themes/defau │
│ lt.nix │
│ @@ -1,5 +1,6 @@ │
│ { │
│ imports = [ │
│ ./minimal.nix │
│ + ./hozen.nix │
│ ]; │
│ } │
└──────────────────────────────────────────────┘
┌─ modules/nixos/workstation/themes/hozen.nix ───────────────────────────────┐
│ diff --git a/modules/nixos/workstation/themes/hozen.nix b/modules/nixos/workstatio │
│ n/themes/hozen.nix │
│ new file mode 100644 │
│ index 0000000..83f8d12 │
│ --- /dev/null │
│ +++ b/modules/nixos/workstation/themes/hozen.nix │
│ @@ -0,0 +1,42 @@ │
│ +{ │
│ + config, │
│ + lib, │
│ + pkgs, │
│ + hozen, │
│ + ... │
│ +}: let │
│ + inherit (lib) mkIf; │
│ + inherit (config.ooknet.workstation) theme; │
│ + generatedWallpaper = import ./generated-wallpaper.nix {inherit hozen config pkg │
│ s;} {}; │
│ +in { │
│ + config = mkIf (theme == "hozen") { │
│ + ooknet.appearance = { │
│ + fonts = { │
│ + monospace = { │
│ + family = "CozetteHiDpi"; │
│ + package = pkgs.cozette; │
│ + size = 22; │
│ + fallback = { │
│ + family = "JetBrainsMono Nerd Font"; │
│ + package = pkgs.nerfonts.override {fonts = ["JetBrainsMono"];}; │
│ + size = 18; │
│ + }; │
│ + }; │
│ + regular = { │
│ + family = "Fira Sans"; │
│ + package = pkgs.fira; │
│ + }; │
│ + }; │
│ + │
│ + cursor = { │
│ + name = "Bibata-Modern-Ice"; │
│ + package = pkgs.bibata-cursors; │
│ + size = 22; │
│ + }; │
│ + │
│ + wallpaper = { │
│ + path = "${generatedWallpaper}"; │
│ + }; │
│ + }; │
│ + }; │
│ +} │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .../workstation/themes/hozen.nix ───┐
│ diff --git a/modules/nixos/workstation/theme │
│ s/hozen.nix b/modules/nixos/workstation/them │
│ es/hozen.nix │
│ new file mode 100644 │
│ index 0000000..83f8d12 │
│ --- /dev/null │
│ +++ b/modules/nixos/workstation/themes/hozen │
│ .nix │
│ @@ -0,0 +1,42 @@ │
│ +{ │
│ + config, │
│ + lib, │
│ + pkgs, │
│ + hozen, │
│ + ... │
│ +}: let │
│ + inherit (lib) mkIf; │
│ + inherit (config.ooknet.workstation) theme │
│ ; │
│ + generatedWallpaper = import ./generated-w │
│ allpaper.nix {inherit hozen config pkgs;} {} │
│ ; │
│ +in { │
│ + config = mkIf (theme == "hozen") { │
│ + ooknet.appearance = { │
│ + fonts = { │
│ + monospace = { │
│ + family = "CozetteHiDpi"; │
│ + package = pkgs.cozette; │
│ + size = 22; │
│ + fallback = { │
│ + family = "JetBrainsMono Nerd Fo │
│ nt"; │
│ + package = pkgs.nerfonts.overrid │
│ e {fonts = ["JetBrainsMono"];}; │
│ + size = 18; │
│ + }; │
│ + }; │
│ + regular = { │
│ + family = "Fira Sans"; │
│ + package = pkgs.fira; │
│ + }; │
│ + }; │
│ + │
│ + cursor = { │
│ + name = "Bibata-Modern-Ice"; │
│ + package = pkgs.bibata-cursors; │
│ + size = 22; │
│ + }; │
│ + │
│ + wallpaper = { │
│ + path = "${generatedWallpaper}"; │
│ + }; │
│ + }; │
│ + }; │
│ +} │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET