refactored theme configuration to use stylix instead of individually theming each program

This commit is contained in:
pagedmov
2024-10-18 16:45:02 -04:00
parent 1e7b095bcd
commit 9d19902fbd
31 changed files with 728 additions and 4300 deletions

274
flake.lock generated
View File

@@ -33,67 +33,69 @@
"type": "github"
}
},
"catppuccin-bat": {
"flake": false,
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1722864529,
"narHash": "sha256-s0CHTihXlBMCKmbBBb8dUhfgOOQu9PBCQ+uviy7o47w=",
"owner": "catppuccin",
"repo": "bat",
"rev": "d3feec47b16a8e99eabb34cdfbaa115541d374fc",
"lastModified": 1708890466,
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "665b3c6748534eb766c777298721cece9453fdae",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "bat",
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"catppuccin-cava": {
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1725405604,
"narHash": "sha256-5AQcCRGaAxP5KFzkJtkKFYq0Ug2xVIEqr2r/k87uWwY=",
"owner": "catppuccin",
"repo": "cava",
"rev": "0746f77974330338ee2e1e4d1ef9872eba57eb26",
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "cava",
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"catppuccin-starship": {
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1723819937,
"narHash": "sha256-t/Hmd2dzBn0AbLUlbL8CBt19/we8spY5nMP0Z+VPMXA=",
"owner": "catppuccin",
"repo": "starship",
"rev": "3c4749512e7d552adf48e75e5182a271392ab176",
"lastModified": 1725860795,
"narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "starship",
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"catppuccin-yazi": {
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1722538198,
"narHash": "sha256-oJo52hMSK7mr5f0DtnyaN1FVOSKKUOHWCT80V1qfyrU=",
"owner": "catppuccin",
"repo": "yazi",
"rev": "37dec9bf1f7e52e0d593c225827b9dbc71ce504c",
"lastModified": 1716150083,
"narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "yazi",
"owner": "tinted-theming",
"repo": "base16-vim",
"type": "github"
}
},
@@ -181,6 +183,22 @@
"type": "github"
}
},
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
@@ -239,6 +257,43 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": [
"stylix",
"systems"
]
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1689549921,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
@@ -339,6 +394,23 @@
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1713702291,
"narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "46.1",
"repo": "gnome-shell",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -381,6 +453,27 @@
"type": "github"
}
},
"home-manager_3": {
"inputs": {
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1724435763,
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hypr-contrib": {
"inputs": {
"nixpkgs": "nixpkgs"
@@ -762,6 +855,22 @@
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1725194671,
"narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"devshell": "devshell",
@@ -902,10 +1011,6 @@
},
"root": {
"inputs": {
"catppuccin-bat": "catppuccin-bat",
"catppuccin-cava": "catppuccin-cava",
"catppuccin-starship": "catppuccin-starship",
"catppuccin-yazi": "catppuccin-yazi",
"home-manager": "home-manager",
"hypr-contrib": "hypr-contrib",
"hyprland": "hyprland",
@@ -914,6 +1019,7 @@
"nur": "nur",
"nvim": "nvim",
"spicetify-nix": "spicetify-nix",
"stylix": "stylix",
"toilet": "toilet"
}
},
@@ -938,6 +1044,36 @@
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat_5",
"flake-utils": "flake-utils_2",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_5",
"systems": "systems_4",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
},
"locked": {
"lastModified": 1728900372,
"narHash": "sha256-hmG/u7qZEm7CTh1XPDi+pg4Oi0nNrv7sL8PgZDRe6wg=",
"owner": "danth",
"repo": "stylix",
"rev": "33a2eff15181e557bb6dd9d2073b90f7d218975d",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
@@ -983,6 +1119,70 @@
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1696725948,
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1696725902,
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"toilet": {
"inputs": {
"nixpkgs": [

View File

@@ -6,6 +6,7 @@
nur.url = "github:nix-community/NUR";
hypr-contrib.url = "github:hyprwm/contrib";
hyprpicker.url = "github:hyprwm/hyprpicker";
stylix.url = "github:danth/stylix";
home-manager = {
url = "github:nix-community/home-manager";
@@ -18,40 +19,20 @@
submodules = true;
};
catppuccin-bat = {
url = "github:catppuccin/bat";
flake = false;
};
catppuccin-cava = {
url = "github:catppuccin/cava";
flake = false;
};
catppuccin-starship = {
url = "github:catppuccin/starship";
flake = false;
};
catppuccin-yazi = {
url = "github:catppuccin/yazi";
flake = false;
};
spicetify-nix = {
url = "github:gerg-l/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nvim = {
url = "github:pagedMov/pagedmov-nixvim";
nvim = {
url = "github:pagedMov/pagedmov-nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
};
toilet = {
url = "github:pagedMov/toilet-extra-fonts";
url = "github:pagedMov/toilet-extra-fonts";
inputs.nixpkgs.follows = "nixpkgs";
};
};
};
outputs = {
@@ -61,6 +42,7 @@
self,
nvim,
toilet,
stylix,
...
} @ inputs: let
system = "x86_64-linux";
@@ -75,6 +57,7 @@
inherit system;
modules = [
./hosts/desktop
stylix.nixosModules.stylix
nur.nixosModules.nur
];
};
@@ -86,19 +69,20 @@
};
modules = [
./hosts/laptop
stylix.nixosModules.stylix
nur.nixosModules.nur
];
};
installer = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "installer";
inherit self inputs;
};
modules = [
./hosts/installer
];
};
installer = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "installer";
inherit self inputs;
};
modules = [
./hosts/installer
];
};
};
};
}

View File

@@ -1,40 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-partlabel/disk-main-root";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-partlabel/disk-main-root";
fsType = "ext4";
};
fileSystems."/nix" =
{ device = "/dev/disk/by-partlabel/disk-main-nix";
fsType = "ext4";
};
fileSystems."/nix" = {
device = "/dev/disk/by-partlabel/disk-main-nix";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-partlabel/disk-main-ESP";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-partlabel/disk-main-ESP";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
fileSystems."/home" =
{ device = "/dev/disk/by-partlabel/disk-main-home";
fsType = "ext4";
};
fileSystems."/home" = {
device = "/dev/disk/by-partlabel/disk-main-home";
fsType = "ext4";
};
swapDevices = [ ];
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -16,7 +16,6 @@
environment = {
variables = {
XCURSOR_SIZE = "24";
PATH = "${pkgs.clang-tools}/bin:$PATH";
};
shells = with pkgs; [

View File

@@ -1,55 +1,58 @@
{ lib, inputs, pkgs, modulesPath, ... }:
let
nvim = inputs.nvim.packages."x86_64-linux".default;
toilet = inputs.toilet.packages."x86_64-linux".default;
install-script = pkgs.writeShellScriptBin "movcfg-install" (builtins.readFile ./movcfg-install.sh);
in
{
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
];
nixpkgs.hostPlatform = "x86_64-linux";
system.stateVersion = "24.05";
nix = {
settings = {
experimental-features = ["nix-command" "flakes"];
};
};
lib,
inputs,
pkgs,
modulesPath,
...
}: let
nvim = inputs.nvim.packages."x86_64-linux".default;
toilet = inputs.toilet.packages."x86_64-linux".default;
install-script = pkgs.writeShellScriptBin "movcfg-install" (builtins.readFile ./movcfg-install.sh);
in {
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
];
nixpkgs.hostPlatform = "x86_64-linux";
system.stateVersion = "24.05";
nix = {
settings = {
experimental-features = ["nix-command" "flakes"];
};
};
networking = {
wireless.enable = false;
networkmanager.enable = true;
};
networking = {
wireless.enable = false;
networkmanager.enable = true;
};
environment.systemPackages = with pkgs; [
nix-output-monitor
nh
nvd
lolcat
curl
wget
coreutils
findutils
zip
unzip
util-linux
git
btrfs-progs
dosfstools
parted
bc
pciutils
usbutils
toilet
install-script
nvim
];
environment.systemPackages = with pkgs; [
nix-output-monitor
nh
nvd
lolcat
curl
wget
coreutils
findutils
zip
unzip
util-linux
git
btrfs-progs
dosfstools
parted
bc
pciutils
usbutils
toilet
install-script
nvim
];
services = {
openssh.enable = true;
dbus.enable=true;
};
services = {
openssh.enable = true;
dbus.enable = true;
};
programs.zsh = {
enable = true;
@@ -61,8 +64,8 @@ in
enableCompletion = true;
histFile = "$HOME/.zsh_history";
histSize = 10000;
histFile = "$HOME/.zsh_history";
histSize = 10000;
autosuggestions = {
enable = true;
@@ -80,14 +83,14 @@ in
pk = "pkill -9 -f";
svc = "sudo systemctl";
};
promptInit = ''
promptInit = ''
bindkey -v
type starship_zle-keymap-select >/dev/null || \
{
eval "$(starship init zsh)"
}
'';
setOptions = [
'';
setOptions = [
"APPEND_HISTORY"
"INC_APPEND_HISTORY"
"SHARE_HISTORY"
@@ -109,7 +112,7 @@ in
"EXTENDED_GLOB"
"TRANSIENT_RPROMPT"
"INTERACTIVE_COMMENTS"
];
];
shellInit = ''
export EDITOR="nvim"
export SUDO_EDITOR="nvim"
@@ -152,61 +155,57 @@ in
unalias ls
clear
'';
};
};
programs.starship = {
enable = true;
settings =
{
add_newline = true;
right_format = "($custom)";
settings = {
add_newline = true;
right_format = "($custom)";
format = lib.concatStrings [
"($username)(bold white)($cmd_duration)($character)"
"($git_branch)($git_status)($rust)($nix-shell)"
"($directory)"
"$line_break[ > ](bold #89b4fa)"
];
format = lib.concatStrings [
"($username)(bold white)($cmd_duration)($character)"
"($git_branch)($git_status)($rust)($nix-shell)"
"($directory)"
"$line_break[ > ](bold #89b4fa)"
];
username = {
show_always = true;
style_user = "bold white";
format = "[$user]($style)";
};
directory = {
format = "\n[$path](bold cyan)[/](bold green) ";
style = "bold #b4befe";
};
username = {
show_always = true;
style_user = "bold white";
format = "[$user]($style)";
};
directory = {
format = "\n[$path](bold cyan)[/](bold green) ";
style = "bold #b4befe";
};
character = {
success_symbol = "[ -> ](bold green)";
error_symbol = "[ -> ](bold red)";
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
};
character = {
success_symbol = "[ -> ](bold green)";
error_symbol = "[ -> ](bold red)";
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
};
cmd_duration = {
format = "[ 󰔛 $duration]($style)";
disabled = false;
style = "bg:none fg:#f9e2af";
show_notifications = false;
min_time_to_notify = 60000;
};
cmd_duration = {
format = "[ 󰔛 $duration]($style)";
disabled = false;
style = "bg:none fg:#f9e2af";
show_notifications = false;
min_time_to_notify = 60000;
};
git_branch = {
format = "\non [$symbol$branch](bold purple)";
symbol = " ";
truncation_length = 15;
style = "bold purple";
};
git_branch = {
format = "\non [$symbol$branch](bold purple)";
symbol = " ";
truncation_length = 15;
style = "bold purple";
};
custom.shellver = {
command = "zsh --version";
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
symbol = "";
style = "bold magenta";
};
palette = "catppuccin_mocha";
}
// builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
custom.shellver = {
command = "zsh --version";
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
symbol = "";
style = "bold magenta";
};
};
};
}

View File

@@ -1,62 +1,60 @@
# USAGE in your configuration.nix.
# Update devices to match your hardware.
{
device ? throw "Set this to your disk device, e.g. /dev/sda",
root_size,
nix_size,
...
}:
{
disko.devices = {
disk = {
main = {
inherit device;
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
};
ESP = {
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
nix = {
size = "${nix_size}";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
root = {
size = "${root_size}";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
home = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/home";
};
};
};
};
};
};
};
device ? throw "Set this to your disk device, e.g. /dev/sda",
root_size,
nix_size,
...
}: {
disko.devices = {
disk = {
main = {
inherit device;
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
};
ESP = {
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["umask=0077"];
};
};
nix = {
size = "${nix_size}";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
root = {
size = "${root_size}";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
home = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/home";
};
};
};
};
};
};
};
}

View File

@@ -1,40 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-partlabel/disk-main-root";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-partlabel/disk-main-root";
fsType = "ext4";
};
fileSystems."/nix" =
{ device = "/dev/disk/by-partlabel/disk-main-nix";
fsType = "ext4";
};
fileSystems."/nix" = {
device = "/dev/disk/by-partlabel/disk-main-nix";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-partlabel/disk-main-ESP";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-partlabel/disk-main-ESP";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
fileSystems."/home" =
{ device = "/dev/disk/by-partlabel/disk-main-home";
fsType = "ext4";
};
fileSystems."/home" = {
device = "/dev/disk/by-partlabel/disk-main-home";
fsType = "ext4";
};
swapDevices = [ ];
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -7,13 +7,12 @@
config,
home-manager,
...
}:
let
desktop_modules = if (host == "onagesson") then
[(import ./programs/steam.nix)] else [];
in
{
}: let
desktop_modules =
if (host == "onagesson")
then [(import ./programs/steam.nix)]
else [];
in {
imports =
[(import ./programs/btop.nix)]
++ [(import ./programs/yazi.nix)]
@@ -36,5 +35,5 @@ in
++ [(import ./hyprland)]
++ [(import ./scripts)]
++ [(import ./swaync/swaync.nix)]
++ desktop_modules;
++ desktop_modules;
}

View File

@@ -1,42 +1,48 @@
{
pkgs,
inputs,
host,
host,
...
}: let
nvim = inputs.nvim.packages."x86_64-linux".default;
toilet = inputs.toilet.packages."x86_64-linux".default;
desktop_pkgs = if (host == "oganesson") then with pkgs; [
uhk-agent
zathura
handbrake
snes9x-gtk
obs-studio
] else [ ];
desktop_pkgs =
if (host == "oganesson")
then
with pkgs; [
uhk-agent
zathura
handbrake
snes9x-gtk
obs-studio
]
else [];
in {
home.packages = with pkgs; [
gtk3
sqlite
gimp
imagemagick
yt-dlp
vlc
lolcat
speedtest-cli
vesktop
qbittorrent
neovide
zsh
zsh-syntax-highlighting
zsh-history-substring-search
zsh-autosuggestions
audacity
rustup
libreoffice
gtrash
ripgrep
nvim
toilet
python3
] ++ desktop_pkgs;
home.packages = with pkgs;
[
gtk3
sqlite
gimp
imagemagick
yt-dlp
vlc
lolcat
speedtest-cli
vesktop
qbittorrent
neovide
zsh
zsh-syntax-highlighting
zsh-history-substring-search
zsh-autosuggestions
audacity
rustup
libreoffice
gtrash
ripgrep
nvim
toilet
python3
]
++ desktop_pkgs;
}

View File

@@ -5,28 +5,9 @@
}: {
fonts.fontconfig.enable = true;
home.packages = [
pkgs.nerdfonts
(pkgs.nerdfonts.override {fonts = ["JetBrainsMono" "Noto"];})
pkgs.twemoji-color-font
pkgs.noto-fonts-emoji
];
gtk = {
enable = true;
font = {
name = "JetBrainsMono Nerd Font";
size = 11;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.catppuccin-papirus-folders.override {
flavor = "mocha";
accent = "lavender";
};
};
theme = {
name = "Dracula";
package = pkgs.dracula-theme;
};
};
}

View File

@@ -20,7 +20,5 @@ in {
hidePodcasts
shuffle # shuffle+ (special characters are sanitized out of extension names)
];
theme = spicePkgs.themes.catppuccin;
colorScheme = "mocha";
};
}

View File

@@ -6,58 +6,54 @@
programs.starship = {
enable = true;
enableZshIntegration = false;
settings =
{
add_newline = true;
right_format = "($custom)";
settings = {
add_newline = true;
right_format = "($custom)";
format = lib.concatStrings [
"($username)(bold white)($cmd_duration)($character)"
"($git_branch)($git_status)($rust)($nix-shell)"
"($directory)"
"$line_break[ > ](bold #89b4fa)"
];
format = lib.concatStrings [
"($username)(bold white)($cmd_duration)($character)"
"($git_branch)($git_status)($rust)($nix-shell)"
"($directory)"
"$line_break[ > ](bold #89b4fa)"
];
username = {
show_always = true;
style_user = "bold white";
format = "[$user]($style)";
};
directory = {
format = "\n[$path](bold cyan)[/](bold green) ";
style = "bold #b4befe";
};
username = {
show_always = true;
style_user = "bold white";
format = "[$user]($style)";
};
directory = {
format = "\n[$path](bold cyan)[/](bold green) ";
style = "bold #b4befe";
};
character = {
success_symbol = "[ -> ](bold green)";
error_symbol = "[ -> ](bold red)";
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
};
character = {
success_symbol = "[ -> ](bold green)";
error_symbol = "[ -> ](bold red)";
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
};
cmd_duration = {
format = "[ 󰔛 $duration]($style)";
disabled = false;
style = "bg:none fg:#f9e2af";
show_notifications = false;
min_time_to_notify = 60000;
};
cmd_duration = {
format = "[ 󰔛 $duration]($style)";
disabled = false;
style = "bg:none fg:#f9e2af";
show_notifications = false;
min_time_to_notify = 60000;
};
git_branch = {
format = "\non [$symbol$branch](bold purple)";
symbol = " ";
truncation_length = 15;
style = "bold purple";
};
git_branch = {
format = "\non [$symbol$branch](bold purple)";
symbol = " ";
truncation_length = 15;
style = "bold purple";
};
custom.shellver = {
command = "zsh --version";
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
symbol = "";
style = "bold magenta";
};
palette = "catppuccin_mocha";
}
// builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
custom.shellver = {
command = "zsh --version";
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
symbol = "";
style = "bold magenta";
};
};
};
}

View File

@@ -10,6 +10,6 @@
in {
imports =
[(import ./hyprland.nix)]
++ [(import ./hyprpaper.nix)]
# ++ [(import ./hyprpaper.nix)]
++ host_config;
}

View File

@@ -1,12 +1,19 @@
{username, host, ...}: {
{
username,
host,
...
}: {
wayland.windowManager.hyprland = {
settings = {
monitor = if (host == "oganesson") then [
"DP-1, 1920x1080@144, 1920x0, 1"
"HDMI-A-1, 1920x1080, 0x0, 1"
] else [
"eDP-1, 1600x900, 0x0, 1"
];
monitor =
if (host == "oganesson")
then [
"DP-1, 1920x1080@144, 1920x0, 1"
"HDMI-A-1, 1920x1080, 0x0, 1"
]
else [
"eDP-1, 1600x900, 0x0, 1"
];
exec-once = [
"waybar &"
@@ -19,19 +26,22 @@
"aplay /home/${username}/sound/sys/login.wav &"
];
workspace = if (host == "oganesson") then [
"1,persistent=true,monitor:HDMI-A-1"
"2,persistent=true,monitor:HDMI-A-1"
"3,persistent=true,monitor:HDMI-A-1"
"4,persistent=true,monitor:DP-1"
"5,persistent=true,monitor:DP-1"
"6,persistent=true,monitor:DP-1"
] else [
"1,persistent=true,monitor:eDP-1"
"2,persistent=true,monitor:eDP-1"
"3,persistent=true,monitor:eDP-1"
"4,persistent=true,monitor:eDP-1"
];
workspace =
if (host == "oganesson")
then [
"1,persistent=true,monitor:HDMI-A-1"
"2,persistent=true,monitor:HDMI-A-1"
"3,persistent=true,monitor:HDMI-A-1"
"4,persistent=true,monitor:DP-1"
"5,persistent=true,monitor:DP-1"
"6,persistent=true,monitor:DP-1"
]
else [
"1,persistent=true,monitor:eDP-1"
"2,persistent=true,monitor:eDP-1"
"3,persistent=true,monitor:eDP-1"
"4,persistent=true,monitor:eDP-1"
];
input = {
kb_layout = "us";
@@ -47,8 +57,6 @@
gaps_in = 4;
gaps_out = 8;
border_size = 2;
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
"col.inactive_border" = "0x00000000";
border_part_of_window = false;
no_border_on_floating = false;
};
@@ -104,7 +112,6 @@
shadow_offset = "0 2";
shadow_range = 20;
shadow_render_power = 3;
"col.shadow" = "rgba(00000055)";
};
animations = {

View File

@@ -1,26 +0,0 @@
{
host,
username,
self,
...
}: {
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
splash_offset = 2.0;
preload = ["${self}/media/wallpapers/catppuccin/cat-leaves.png"];
wallpaper =
if (host == "oganesson")
then [
"DP-1,${self}/media/wallpapers/catppuccin/cat-leaves.png"
"HDMI-A-1,${self}/media/wallpapers/catppuccin/cat-leaves.png"
]
else [
"eDP-1,${self}/media/wallpapers/catppuccin/cat-leaves.png"
];
};
};
}

View File

@@ -3,7 +3,6 @@
enable = true;
config = {
pager = "less -FR";
theme = "Dracula";
};
};
}

View File

@@ -3,8 +3,6 @@
enable = true;
settings = {
color_theme = "tokyo-night";
theme_background = false;
update_ms = 500;
vim_keys = true;
proc_tree = true;

View File

@@ -6,11 +6,4 @@
programs.cava = {
enable = true;
};
# https://github.com/catppuccin/cava
home.file.".config/cava/config".text =
''
# custom cava config
''
+ builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
}

View File

@@ -3,27 +3,16 @@
enable = true;
settings = {
main = {
font = "JetBrainsMono Nerd Font:weight=bold:size=14";
line-height = 25;
fields = "name,generic,comment,categories,filename,keywords";
terminal = "kitty";
prompt = "' '";
icon-theme = "Papirus-Dark";
layer = "top";
lines = 10;
width = 35;
horizontal-pad = 25;
inner-pad = 5;
};
colors = {
background = "1e1e2ecc";
text = "cdd6f4ff";
match = "f38ba8ff";
selection = "b4befeaa";
selection-match = "f38ba8ff";
selection-text = "cdd6f4ff";
border = "b4befeff";
};
border = {
radius = 15;
width = 3;

View File

@@ -2,16 +2,9 @@
programs.kitty = {
enable = true;
themeFile = "Catppuccin-Mocha";
font = {
name = "JetBrainsMono Nerd Font";
size = 13;
};
settings = {
confirm_os_window_close = 0;
background_opacity = "0.60";
window_padding_width = 10;
scrollback_lines = 10000;
enable_audio_bell = false;
@@ -24,10 +17,6 @@
inactive_tab_font_style = "normal";
tab_bar_style = "powerline";
tab_powerline_style = "round";
active_tab_foreground = "#1e1e2e";
active_tab_background = "#cba6f7";
inactive_tab_foreground = "#bac2de";
inactive_tab_background = "#313244";
};
keybindings = {

File diff suppressed because it is too large Load Diff

View File

@@ -4,14 +4,15 @@
pkgs,
}:
pkgs.writeShellScriptBin "rebuild" ''
#!/run/current-system/sw/bin/bash
#!/run/current-system/sw/bin/bash
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
set -e
sudo nixos-rebuild switch --flake "$HOME/.sysflake#${host}"
if [ $? -eq 0 ]; then
scheck && runbg aplay ${self}/media/sound/update.wav
else
scheck && runbg aplay ${self}/media/sound/error.wav
fi
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
set -e
nh os switch -H ${host} $HOME/.sysflake
sudo nixos-rebuild switch --flake "$HOME/.sysflake#${host}"
if [ $? -eq 0 ]; then
scheck && runbg aplay ${self}/media/sound/update.wav
else
scheck && runbg aplay ${self}/media/sound/error.wav
fi
''

View File

@@ -6,22 +6,22 @@
username,
host,
...
}:
let
desktop_modules = if (host == "oganesson") then [
./software/virtualization.nix
] else [ ];
in
{
}: let
desktop_modules =
if (host == "oganesson")
then [
./software/virtualization.nix
]
else [];
in {
imports =
[(import ./hardware/bootloader.nix)]
++ [(import ./hardware/network.nix)]
++ [(import ./software/fonts.nix)]
++ [(import ./software/sddm.nix)]
++ [(import ./software/packages.nix)]
++ [(import ./software/programs.nix)]
++ [(import ./software/services.nix)]
++ [(import ./software/users.nix)]
++ [(import ./environment/sddm.nix)]
++ [(import ./environment/users.nix)]
++ [(import ./environment/stylix.nix)]
++ desktop_modules;
}

View File

@@ -0,0 +1,12 @@
{
pkgs,
self,
config,
...
}: {
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
package = pkgs.kdePackages.sddm;
};
}

View File

@@ -0,0 +1,36 @@
{
pkgs,
self,
...
}: {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/material-darker.yaml";
image = ../../../media/wallpapers/catppuccin/cat-leaves.png;
polarity = "dark";
autoEnable = true;
targets = {
console.enable = true;
feh.enable = true;
grub.enable = true;
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
};
fonts = {
monospace = {
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
};
};
}

View File

@@ -0,0 +1,53 @@
{
config,
inputs,
pkgs,
username,
self,
host,
...
}: let
nur = config.nur;
in {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {inherit self inputs host username nur;};
users.${username} = {
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
programs.home-manager.enable = true;
imports = [
./../../home
];
home = {
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "24.05";
};
};
};
users = {
groups.persist = {};
users = {
root.initialPassword = "1234";
${username} = {
isNormalUser = true;
initialPassword = "1234";
shell = pkgs.zsh;
extraGroups = ["wheel" "persist" "libvirtd"];
};
};
};
security.sudo.extraConfig = ''
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
'';
nix.settings.allowed-users = ["${username}"];
}

View File

@@ -1,7 +0,0 @@
{pkgs, ...}: {
fonts.packages = with pkgs; [
times-newer-roman
nerdfonts
jetbrains-mono
];
}

View File

@@ -38,13 +38,13 @@
mullvad
mesa
neofetch
nh
nh
nix-index
nix-output-monitor
nix-output-monitor
nix-prefetch-scripts
nixos-option
nix-search-cli
nvd
nvd
openssl
p7zip
jq
@@ -56,7 +56,6 @@
protonmail-bridge
protontricks
pyright
quintom-cursor-theme
socat
sox
stress
@@ -74,6 +73,6 @@
xpad
libnotify
file
libvirt-glib
libvirt-glib
];
}

View File

@@ -1,23 +0,0 @@
{
pkgs,
self,
config,
...
}: {
environment.systemPackages = [
(
pkgs.catppuccin-sddm.override {
flavor = "mocha";
font = "JetBrains Mono";
fontSize = "9";
background = "${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
}
)
];
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
theme = "catppuccin-mocha";
package = pkgs.kdePackages.sddm;
};
}

View File

@@ -1,57 +0,0 @@
{
config,
inputs,
pkgs,
username,
self,
host,
...
}: let
nur = config.nur;
in {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {inherit self inputs host username nur;};
users.${username} = {
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
programs.home-manager.enable = true;
imports = [
./../../home
];
home = {
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "24.05";
pointerCursor = {
name = "Quintom_Ink";
size = 36;
package = pkgs.quintom-cursor-theme;
};
};
};
};
users = {
groups.persist = {};
users = {
root.initialPassword = "1234";
${username} = {
isNormalUser = true;
initialPassword = "1234";
shell = pkgs.zsh;
extraGroups = ["wheel" "persist" "libvirtd"];
};
};
};
security.sudo.extraConfig = ''
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
'';
nix.settings.allowed-users = ["${username}"];
}

View File

@@ -1,6 +1,4 @@
{ username, ... }:
{
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
{username, ...}: {
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
}