From 576f09d4e01a662bec8630244d5d7d49202d45f1 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Sun, 21 Jan 2024 13:01:05 -0600 Subject: [PATCH] Thablet upgrade --- modules/home-manager/desktop.nix | 13 ++- modules/nixos/default.nix | 1 + modules/nixos/desktop-usage.nix | 131 +----------------------------- modules/nixos/fonts.nix | 135 +++++++++++++++++++++++++++++++ nixos/beefcake.nix | 5 +- nixos/thablet.nix | 26 +++--- 6 files changed, 164 insertions(+), 147 deletions(-) create mode 100644 modules/nixos/fonts.nix diff --git a/modules/home-manager/desktop.nix b/modules/home-manager/desktop.nix index d1a3088..b138e5b 100644 --- a/modules/home-manager/desktop.nix +++ b/modules/home-manager/desktop.nix @@ -1,6 +1,17 @@ -{outputs, ...}: { +{ + pkgs, + outputs, + ... +}: { imports = with outputs.homeManagerModules; [ kitty wezterm ]; + + home.pointerCursor = { + name = "Bibata-Modern-Classic"; + package = pkgs.bibata-cursors; + size = 64; # TODO: this doesn't seem to work -- at least in Sway + # some icons are also missing (hand2?) + }; } diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 1df0dbc..159bbce 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -7,6 +7,7 @@ with builtins; "melee" "ewwbar" "desktop-usage" + "fonts" "intel" "lutris" "pipewire" diff --git a/modules/nixos/desktop-usage.nix b/modules/nixos/desktop-usage.nix index dd8c837..bb4ef02 100644 --- a/modules/nixos/desktop-usage.nix +++ b/modules/nixos/desktop-usage.nix @@ -10,142 +10,13 @@ # ./hyprland.nix # ./plasma.nix # ./gnome.nix + ./fonts.nix ./user-installed-applications.nix ./kde-connect.nix ]; nixpkgs.overlays = [outputs.overlays.modifications]; - # fonts.packages if unstable? - fonts.packages = with pkgs; - [ - (nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) - ] - ++ (with inputs.nixpkgs.legacyPackages.${system}; [ - (iosevka.override { - set = "lyteterm"; - privateBuildPlan = '' - [buildPlans.iosevka-lyteterm] - family = "IosevkaLyteTerm" - spacing = "fontconfig-mono" - serifs = "sans" - export-glyph-names = true - - [buildPlans.iosevka-lyteterm.ligations] - inherits = "dlig" - disables = [ "exeqeqeq", "exeqeq", "exeqeq-dl", "exeq", "ineq", "connected-underscore", "connected-tilde-as-wave" ] - - [buildPlans.iosevka-lyteterm.weights.regular] - shape = 400 - menu = 400 - css = 400 - - [buildPlans.iosevka-lyteterm.weights.book] - shape = 450 - menu = 450 - css = 450 - - [buildPlans.iosevka-lyteterm.weights.bold] - shape = 700 - menu = 700 - css = 700 - - [buildPlans.iosevka-lyteterm.weights.black] - shape = 900 - menu = 900 - css = 900 - - # [[buildPlans.iosevka-lyteterm.compatibility-ligatures]] - # unicode = 57600 # 0xE100 - # featureTag = 'calt' - # kequence = '<*>' - - [buildPlans.iosevka-lyteterm.variants] - inherits = "ss01" - - [buildPlans.iosevka-lyteterm.variants.design] - capital-a = 'curly-serifless' - capital-b = 'standard-interrupted-serifless' - capital-c = 'unilateral-inward-serifed' - capital-d = 'standard-serifless' - capital-g = 'toothless-rounded-inward-serifed-hooked' - capital-i = 'serifed' - capital-j = 'serifed' - capital-k = 'curly-serifless' - capital-l = 'motion-serifed' - capital-m = 'hanging-serifless' - capital-n = 'asymmetric-serifless' - capital-p = 'open-serifless' - capital-q = 'crossing' - capital-r = 'standing-open-serifless' - capital-s = 'unilateral-inward-serifed' - capital-t = 'motion-serifed' - capital-u = 'toothless-corner-serifless' - capital-v = 'curly-serifless' - capital-w = 'curly-serifless' - capital-x = 'curly-serifless' - capital-y = 'curly-base-serifed' - capital-z = 'curly-top-serifed-with-crossbar' - a = 'double-storey-toothless-corner' - b = 'toothless-corner-serifless' - c = 'unilateral-inward-serifed' - d = 'toothless-corner-serifless' - e = 'flat-crossbar' - f = 'tailed' - g = 'double-storey-open' - # g = 'single-storey-earless-corner-flat-hook' - h = 'straight-serifless' - i = 'tailed-serifed' - j = 'serifed' - k = 'curly-serifless' - l = 'tailed-serifed' - m = 'earless-corner-double-arch-serifless' - n = 'earless-corner-straight-serifless' - p = 'earless-corner-serifless' - q = 'earless-corner-diagonal-tailed-serifless' - r = 'earless-corner-serifless' - s = 'unilateral-inward-serifed' - t = 'bent-hook-asymmetric' - u = 'toothless-corner-serifless' - v = 'curly-serifless' - w = 'curly-serifless' - x = 'curly-serifless' - y = 'curly-turn-serifless' - z = 'curly-top-serifed-with-crossbar' - # cyrl-capital-ze = 'unilateral-inward-serifed' - zero = 'reverse-slashed-split' - one = 'base' - two = 'curly-neck' - three = 'two-arcs' - four = 'semi-open-non-crossing' - # five = 'vertical-upper-left-bar' - five = 'upright-flat' - six = 'straight-bar' - seven = 'curly-serifed-crossbar' - eight = 'two-circles' - nine = 'straight-bar' - tilde = 'low' - asterisk = 'penta-low' - underscore = 'above-baseline' - pilcrow = 'low' - caret = 'low' - paren = 'flat-arc' - brace = 'curly-flat-boundary' - number-sign = 'upright-open' - ampersand = 'upper-open' - at = 'compact' - dollar = 'interrupted' - cent = 'open' - percent = 'rings-segmented-slash' - bar = 'force-upright' - ascii-single-quote = 'raised-comma' - ascii-grave = 'straight' - question = 'smooth' - punctuation-dot = 'round' - ''; - }) - ]); - hardware = { opengl = { enable = true; diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix new file mode 100644 index 0000000..96b2a2d --- /dev/null +++ b/modules/nixos/fonts.nix @@ -0,0 +1,135 @@ +{ + inputs, + pkgs, + ... +}: { + # fonts.packages if unstable? + fonts.packages = with pkgs; + [ + (nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) + ] + ++ (with inputs.nixpkgs.legacyPackages.${system}; [ + (iosevka.override { + set = "lyteterm"; + privateBuildPlan = '' + [buildPlans.iosevka-lyteterm] + family = "IosevkaLyteTerm" + spacing = "fontconfig-mono" + serifs = "sans" + export-glyph-names = true + + [buildPlans.iosevka-lyteterm.ligations] + inherits = "dlig" + disables = [ "exeqeqeq", "exeqeq", "exeqeq-dl", "exeq", "ineq", "connected-underscore", "connected-tilde-as-wave" ] + + [buildPlans.iosevka-lyteterm.weights.regular] + shape = 400 + menu = 400 + css = 400 + + [buildPlans.iosevka-lyteterm.weights.book] + shape = 450 + menu = 450 + css = 450 + + [buildPlans.iosevka-lyteterm.weights.bold] + shape = 700 + menu = 700 + css = 700 + + [buildPlans.iosevka-lyteterm.weights.black] + shape = 900 + menu = 900 + css = 900 + + # [[buildPlans.iosevka-lyteterm.compatibility-ligatures]] + # unicode = 57600 # 0xE100 + # featureTag = 'calt' + # kequence = '<*>' + + [buildPlans.iosevka-lyteterm.variants] + inherits = "ss01" + + [buildPlans.iosevka-lyteterm.variants.design] + capital-a = 'curly-serifless' + capital-b = 'standard-interrupted-serifless' + capital-c = 'unilateral-inward-serifed' + capital-d = 'standard-serifless' + capital-g = 'toothless-rounded-inward-serifed-hooked' + capital-i = 'serifed' + capital-j = 'serifed' + capital-k = 'curly-serifless' + capital-l = 'motion-serifed' + capital-m = 'hanging-serifless' + capital-n = 'asymmetric-serifless' + capital-p = 'open-serifless' + capital-q = 'crossing' + capital-r = 'standing-open-serifless' + capital-s = 'unilateral-inward-serifed' + capital-t = 'motion-serifed' + capital-u = 'toothless-corner-serifless' + capital-v = 'curly-serifless' + capital-w = 'curly-serifless' + capital-x = 'curly-serifless' + capital-y = 'curly-base-serifed' + capital-z = 'curly-top-serifed-with-crossbar' + a = 'double-storey-toothless-corner' + b = 'toothless-corner-serifless' + c = 'unilateral-inward-serifed' + d = 'toothless-corner-serifless' + e = 'flat-crossbar' + f = 'tailed' + g = 'double-storey-open' + # g = 'single-storey-earless-corner-flat-hook' + h = 'straight-serifless' + i = 'tailed-serifed' + j = 'serifed' + k = 'curly-serifless' + l = 'tailed-serifed' + m = 'earless-corner-double-arch-serifless' + n = 'earless-corner-straight-serifless' + p = 'earless-corner-serifless' + q = 'earless-corner-diagonal-tailed-serifless' + r = 'earless-corner-serifless' + s = 'unilateral-inward-serifed' + t = 'bent-hook-asymmetric' + u = 'toothless-corner-serifless' + v = 'curly-serifless' + w = 'curly-serifless' + x = 'curly-serifless' + y = 'curly-turn-serifless' + z = 'curly-top-serifed-with-crossbar' + # cyrl-capital-ze = 'unilateral-inward-serifed' + zero = 'reverse-slashed-split' + one = 'base' + two = 'curly-neck' + three = 'two-arcs' + four = 'semi-open-non-crossing' + # five = 'vertical-upper-left-bar' + five = 'upright-flat' + six = 'straight-bar' + seven = 'curly-serifed-crossbar' + eight = 'two-circles' + nine = 'straight-bar' + tilde = 'low' + asterisk = 'penta-low' + underscore = 'above-baseline' + pilcrow = 'low' + caret = 'low' + paren = 'flat-arc' + brace = 'curly-flat-boundary' + number-sign = 'upright-open' + ampersand = 'upper-open' + at = 'compact' + dollar = 'interrupted' + cent = 'open' + percent = 'rings-segmented-slash' + bar = 'force-upright' + ascii-single-quote = 'raised-comma' + ascii-grave = 'straight' + question = 'smooth' + punctuation-dot = 'round' + ''; + }) + ]); +} diff --git a/nixos/beefcake.nix b/nixos/beefcake.nix index 8cc776f..8182ca4 100644 --- a/nixos/beefcake.nix +++ b/nixos/beefcake.nix @@ -15,8 +15,9 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00 system, ... }: { - imports = [ - outputs.nixosModules.intel + imports = with outputs.nixosModules; [ + intel + fonts # so that it gets cached to the nix store inputs.api-lyte-dev.nixosModules.${system}.api-lyte-dev # inputs.nix-minecraft.nixosModules.minecraft-servers ]; diff --git a/nixos/thablet.nix b/nixos/thablet.nix index b357b12..d50f417 100644 --- a/nixos/thablet.nix +++ b/nixos/thablet.nix @@ -9,23 +9,21 @@ }: { networking.hostName = "thablet"; - imports = - [ - (modulesPath + "/installer/scan/not-detected.nix") - flake.diskoConfigurations.standard - inputs.hardware.nixosModules.lenovo-thinkpad-x1-yoga - ] - ++ (with outputs.nixosModules; [ - desktop-usage - gnome - wifi - flanfam - flanfamkiosk - ]); + imports = with outputs.nixosModules; [ + (modulesPath + "/installer/scan/not-detected.nix") + flake.diskoConfigurations.standard + inputs.hardware.nixosModules.lenovo-thinkpad-x1-yoga + desktop-usage + fonts + gnome + wifi + flanfam + flanfamkiosk + ]; home-manager.users.daniel = { imports = with outputs.homeManagerModules; [ - sway + linux-desktop ]; };