Add custom Iosevka (font) build for testing before I switch
This commit is contained in:
parent
b3988f8eae
commit
5b3a541c08
344
flake.nix
344
flake.nix
|
@ -46,171 +46,193 @@
|
||||||
./hosts/${hostName}/hardware-configuration.nix
|
./hosts/${hostName}/hardware-configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
({ config, lib, pkgs, ... }: {
|
({ config, lib, pkgs, ... }:
|
||||||
boot.loader = {
|
let
|
||||||
systemd-boot.enable = true;
|
iosevka-custom = pkgs.iosevka.override {
|
||||||
efi.canTouchEfiVariables = true;
|
set = "custom";
|
||||||
};
|
privateBuildPlan = {
|
||||||
programs = {
|
family = "Iosevka Custom";
|
||||||
${shell}.enable = true;
|
spacing = "normal";
|
||||||
nano = {
|
serifs = "sans";
|
||||||
enable = true;
|
noCvSs = false;
|
||||||
syntaxHighlight = true;
|
exportGlyphNames = false;
|
||||||
nanorc = ''
|
variants = { inherits = "ss05"; };
|
||||||
set nowrap
|
ligations = { inherits = "dlig"; };
|
||||||
set tabstospaces
|
widths = {
|
||||||
set tabsize 2
|
Condensed = {
|
||||||
'';
|
shape = 500;
|
||||||
};
|
menu = 3;
|
||||||
};
|
css = "condensed";
|
||||||
nix = {
|
};
|
||||||
enable = true;
|
Normal = {
|
||||||
settings = {
|
shape = 600;
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
menu = 5;
|
||||||
auto-optimise-store = true;
|
css = "normal";
|
||||||
};
|
|
||||||
channel.enable = true;
|
|
||||||
registry = {
|
|
||||||
nixpkgs.flake = nixpkgs;
|
|
||||||
nixos.flake = self;
|
|
||||||
};
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
optimise.automatic = true;
|
|
||||||
extraOptions = ''
|
|
||||||
keep-outputs = true
|
|
||||||
keep-derivations = true
|
|
||||||
min-free = ${toString (100 * 1024 * 1024)}
|
|
||||||
max-free = ${toString (1024 * 1024 * 1024)}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"steam"
|
|
||||||
"steam-original"
|
|
||||||
"steam-run"
|
|
||||||
"nomachine-client"
|
|
||||||
];
|
|
||||||
system = { inherit stateVersion; };
|
|
||||||
networking = {
|
|
||||||
inherit hostName;
|
|
||||||
firewall.enable = true;
|
|
||||||
};
|
|
||||||
stylix = {
|
|
||||||
autoEnable = false;
|
|
||||||
targets = {
|
|
||||||
chromium.enable = true;
|
|
||||||
console.enable = true;
|
|
||||||
fish.enable = true;
|
|
||||||
};
|
|
||||||
image = ./wallpapers/space.png;
|
|
||||||
base16Scheme =
|
|
||||||
"${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
|
||||||
override = {
|
|
||||||
scheme =
|
|
||||||
"Catppuccin Mocha, using fg and bg colours from emacs modus-vivdendi-tinted";
|
|
||||||
base00 = "0d0e1c";
|
|
||||||
base01 = "1d2235";
|
|
||||||
base04 = "c6daff";
|
|
||||||
base05 = "ffffff";
|
|
||||||
};
|
|
||||||
polarity = "dark";
|
|
||||||
opacity = {
|
|
||||||
popups = 0.5;
|
|
||||||
terminal = 0.8;
|
|
||||||
};
|
|
||||||
fonts = rec {
|
|
||||||
sizes.terminal = 12;
|
|
||||||
emoji = {
|
|
||||||
name = "Noto Color Emoji";
|
|
||||||
package = pkgs.noto-fonts-emoji;
|
|
||||||
};
|
|
||||||
monospace = {
|
|
||||||
name = "FiraCode Nerd Font";
|
|
||||||
package =
|
|
||||||
(pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; });
|
|
||||||
};
|
|
||||||
sansSerif = {
|
|
||||||
name = "Fira Sans";
|
|
||||||
package = pkgs.fira;
|
|
||||||
};
|
|
||||||
serif = sansSerif;
|
|
||||||
};
|
|
||||||
homeManagerIntegration.followSystem = true;
|
|
||||||
};
|
|
||||||
fonts = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
fira
|
|
||||||
fira-mono
|
|
||||||
fira-code
|
|
||||||
(nerdfonts.override {
|
|
||||||
fonts = [ "FiraCode" "NerdFontsSymbolsOnly" ];
|
|
||||||
})
|
|
||||||
emacs-all-the-icons-fonts
|
|
||||||
weather-icons
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-emoji
|
|
||||||
liberation_ttf
|
|
||||||
];
|
|
||||||
fontconfig.enable = true;
|
|
||||||
};
|
|
||||||
users.users = let
|
|
||||||
authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINI1dWlS16Keil0MGPWmMsBzx8F9ylfz+fRwxUr8/tZ/ ion"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANfkqd5lPTsSPU3SRYnAa1UjCYDmDeBTyzq5McmWlm6 xenia@Vanguard"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ/ZSSCN5sqrA+tdoIZr5EUm5DRuBV4dQ7J+QBEtUwUU xenia@Northstar"
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
root.openssh = { inherit authorizedKeys; };
|
|
||||||
${user} = {
|
|
||||||
inherit group;
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Evie Litherland-Smith";
|
|
||||||
extraGroups =
|
|
||||||
[ "networkmanager" "wheel" "video" "input" "uinput" ];
|
|
||||||
shell = pkgs.${shell};
|
|
||||||
initialHashedPassword =
|
|
||||||
"$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
|
|
||||||
openssh = { inherit authorizedKeys; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home-manager = {
|
|
||||||
extraSpecialArgs = { inherit hostName; };
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users = {
|
|
||||||
root = {
|
|
||||||
imports = [ ./home/default.nix ];
|
|
||||||
home = {
|
|
||||||
inherit stateVersion;
|
|
||||||
username = "root";
|
|
||||||
homeDirectory = "/root";
|
|
||||||
};
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
};
|
|
||||||
${user} = let
|
|
||||||
username = user;
|
|
||||||
homeDirectory = "/home/${user}";
|
|
||||||
in {
|
|
||||||
imports =
|
|
||||||
[ ./hosts/${hostName}/home.nix ./home/default.nix ]
|
|
||||||
++ homeModules;
|
|
||||||
home = { inherit username homeDirectory stateVersion; };
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
xdg.userDirs = {
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
extraConfig = {
|
|
||||||
XDG_PROJECTS_DIR = "${homeDirectory}/Projects";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
in {
|
||||||
})
|
boot.loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
${shell}.enable = true;
|
||||||
|
nano = {
|
||||||
|
enable = true;
|
||||||
|
syntaxHighlight = true;
|
||||||
|
nanorc = ''
|
||||||
|
set nowrap
|
||||||
|
set tabstospaces
|
||||||
|
set tabsize 2
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nix = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
channel.enable = true;
|
||||||
|
registry = {
|
||||||
|
nixpkgs.flake = nixpkgs;
|
||||||
|
nixos.flake = self;
|
||||||
|
};
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
options = "--delete-older-than 7d";
|
||||||
|
};
|
||||||
|
optimise.automatic = true;
|
||||||
|
extraOptions = ''
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
min-free = ${toString (100 * 1024 * 1024)}
|
||||||
|
max-free = ${toString (1024 * 1024 * 1024)}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
"steam"
|
||||||
|
"steam-original"
|
||||||
|
"steam-run"
|
||||||
|
"nomachine-client"
|
||||||
|
];
|
||||||
|
system = { inherit stateVersion; };
|
||||||
|
networking = {
|
||||||
|
inherit hostName;
|
||||||
|
firewall.enable = true;
|
||||||
|
};
|
||||||
|
stylix = {
|
||||||
|
autoEnable = false;
|
||||||
|
targets = {
|
||||||
|
chromium.enable = true;
|
||||||
|
console.enable = true;
|
||||||
|
fish.enable = true;
|
||||||
|
};
|
||||||
|
image = ./wallpapers/space.png;
|
||||||
|
base16Scheme =
|
||||||
|
"${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||||
|
override = {
|
||||||
|
scheme =
|
||||||
|
"Catppuccin Mocha, using fg and bg colours from emacs modus-vivdendi-tinted";
|
||||||
|
base00 = "0d0e1c";
|
||||||
|
base01 = "1d2235";
|
||||||
|
base04 = "c6daff";
|
||||||
|
base05 = "ffffff";
|
||||||
|
};
|
||||||
|
polarity = "dark";
|
||||||
|
opacity = {
|
||||||
|
popups = 0.5;
|
||||||
|
terminal = 0.8;
|
||||||
|
};
|
||||||
|
fonts = rec {
|
||||||
|
sizes.terminal = 12;
|
||||||
|
serif = sansSerif;
|
||||||
|
sansSerif = {
|
||||||
|
name = "Fira Sans";
|
||||||
|
package = pkgs.fira;
|
||||||
|
};
|
||||||
|
monospace = {
|
||||||
|
name = "FiraCode Nerd Font";
|
||||||
|
package =
|
||||||
|
(pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; });
|
||||||
|
};
|
||||||
|
emoji = {
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
homeManagerIntegration.followSystem = true;
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
|
||||||
|
iosevka
|
||||||
|
# iosevka-custom
|
||||||
|
emacs-all-the-icons-fonts
|
||||||
|
weather-icons
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
];
|
||||||
|
fontconfig.enable = true;
|
||||||
|
};
|
||||||
|
users.users = let
|
||||||
|
authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINI1dWlS16Keil0MGPWmMsBzx8F9ylfz+fRwxUr8/tZ/ ion"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIANfkqd5lPTsSPU3SRYnAa1UjCYDmDeBTyzq5McmWlm6 xenia@Vanguard"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ/ZSSCN5sqrA+tdoIZr5EUm5DRuBV4dQ7J+QBEtUwUU xenia@Northstar"
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
root.openssh = { inherit authorizedKeys; };
|
||||||
|
${user} = {
|
||||||
|
inherit group;
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Evie Litherland-Smith";
|
||||||
|
extraGroups =
|
||||||
|
[ "networkmanager" "wheel" "video" "input" "uinput" ];
|
||||||
|
shell = pkgs.${shell};
|
||||||
|
initialHashedPassword =
|
||||||
|
"$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
|
||||||
|
openssh = { inherit authorizedKeys; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = { inherit hostName; };
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users = {
|
||||||
|
root = {
|
||||||
|
imports = [ ./home/default.nix ];
|
||||||
|
home = {
|
||||||
|
inherit stateVersion;
|
||||||
|
username = "root";
|
||||||
|
homeDirectory = "/root";
|
||||||
|
};
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
};
|
||||||
|
${user} = let
|
||||||
|
username = user;
|
||||||
|
homeDirectory = "/home/${user}";
|
||||||
|
in {
|
||||||
|
imports =
|
||||||
|
[ ./hosts/${hostName}/home.nix ./home/default.nix ]
|
||||||
|
++ homeModules;
|
||||||
|
home = { inherit username homeDirectory stateVersion; };
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
xdg.userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
extraConfig = {
|
||||||
|
XDG_PROJECTS_DIR = "${homeDirectory}/Projects";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
] ++ systemModules ++ serviceModules;
|
] ++ systemModules ++ serviceModules;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
Loading…
Reference in a new issue