188 current 2025-06-06 18:54:16 25.11.20250605.d3d2d80 6.15.1 *

This commit is contained in:
2025-06-06 18:55:41 -04:00
parent 66c4d33550
commit 40bcf42094
13 changed files with 762 additions and 299 deletions

138
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1747864449,
"narHash": "sha256-PIjVAWghZhr3L0EFM2UObhX84UQxIACbON0IC0zzSKA=",
"lastModified": 1749155310,
"narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "389372c5f4dc1ac0e7645ed29a35fd6d71672ef5",
"rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3",
"type": "github"
},
"original": {
@@ -38,11 +38,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1748080874,
"narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=",
"lastModified": 1749223974,
"narHash": "sha256-/GAQYRW1duU81KG//2wI9ax8EkHVG/e1UOD97NdwLOY=",
"owner": "catppuccin",
"repo": "nix",
"rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112",
"rev": "3a42cd79c647360ee8742659e42aeec0947dd3b4",
"type": "github"
},
"original": {
@@ -117,15 +117,37 @@
]
},
"locked": {
"lastModified": 1748925027,
"narHash": "sha256-BJ0qRIdvt5aeqm3zg/5if7b5rruG05zrSX3UpLqjDRk=",
"lastModified": 1749243446,
"narHash": "sha256-P1gumhZN5N9q+39ndePHYrtwOwY1cGx+VoXGl+vTm7A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "cb809ec1ff15cf3237c6592af9bbc7e4d983e98c",
"rev": "2d7d65f65b61fdfce23278e59ca266ddd0ef0a36",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
},
"home-manager-stable": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1749154018,
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}
@@ -146,11 +168,11 @@
]
},
"locked": {
"lastModified": 1745948457,
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
"lastModified": 1749155331,
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "ac903e80b33ba6a88df83d02232483d99f327573",
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
"type": "github"
},
"original": {
@@ -175,11 +197,11 @@
]
},
"locked": {
"lastModified": 1745015490,
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
"lastModified": 1749145600,
"narHash": "sha256-v2kY5RDk9oyo1x9m8u83GdklC96xlJ7ka1rrvZoYL78=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "60754910946b4e2dc1377b967b7156cb989c5873",
"rev": "80b754e38e836777ad3a9d5d1ffc3491b0332471",
"type": "github"
},
"original": {
@@ -204,11 +226,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1748888571,
"narHash": "sha256-iyZNR6VSJ4zlJ3hMt8+c3MHNeQrXDjsdwFlHdKDxc9A=",
"lastModified": 1749237813,
"narHash": "sha256-TDJHaf01IpP3dN+CC/GGuKRLPLFS9w4v9BufplyJkSY=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "b1d0a727cc594e5329c5971d73391c7529e1c80e",
"rev": "2794f485cb5d52b3ff572953ddcfaf7fd3c25182",
"type": "github"
},
"original": {
@@ -229,11 +251,11 @@
]
},
"locked": {
"lastModified": 1743714874,
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github"
},
"original": {
@@ -261,11 +283,11 @@
]
},
"locked": {
"lastModified": 1737634706,
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
"lastModified": 1749154592,
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "8810df502cdee755993cb803eba7b23f189db795",
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
"type": "github"
},
"original": {
@@ -297,11 +319,11 @@
]
},
"locked": {
"lastModified": 1745951494,
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
"lastModified": 1749155776,
"narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
"rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522",
"type": "github"
},
"original": {
@@ -326,11 +348,11 @@
]
},
"locked": {
"lastModified": 1747484975,
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=",
"lastModified": 1749145882,
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "163c83b3db48a17c113729c220a60b94596c9291",
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676",
"type": "github"
},
"original": {
@@ -351,11 +373,11 @@
]
},
"locked": {
"lastModified": 1746635225,
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
"lastModified": 1749135356,
"narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
"rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb",
"type": "github"
},
"original": {
@@ -376,11 +398,11 @@
]
},
"locked": {
"lastModified": 1747584298,
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=",
"lastModified": 1749145760,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
"type": "github"
},
"original": {
@@ -405,13 +427,29 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs-stable": {
"locked": {
"lastModified": 1748460289,
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
"lastModified": 1749086602,
"narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
"rev": "4792576cb003c994bd7cc1edada3129def20b27d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1748929857,
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
"type": "github"
},
"original": {
@@ -423,11 +461,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1748693115,
"narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=",
"lastModified": 1749143949,
"narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc",
"rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d",
"type": "github"
},
"original": {
@@ -446,11 +484,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1748935843,
"narHash": "sha256-ZTbwljoJXgkGAPlYz0GIcNiXQNfPFHe2A0Dqe9KDyPA=",
"lastModified": 1749246388,
"narHash": "sha256-Dwwn4G27Tb3ErlErOThqXI+bIJ3usoHogzmFE20XgBw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "032af0a65aa867a6209718033995f5ba73fee543",
"rev": "b867f29b2dd10e29477a15aebc4c3f6354ca723d",
"type": "github"
},
"original": {
@@ -509,8 +547,10 @@
"inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"home-manager-stable": "home-manager-stable",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable",
"nur": "nur",
"plasma-manager": "plasma-manager"
}
@@ -579,11 +619,11 @@
]
},
"locked": {
"lastModified": 1745871725,
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
"lastModified": 1749155346,
"narHash": "sha256-KIkJu3zF8MF3DuGwzAmo3Ww9wsWXolwV30SjJRTAxYE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
"rev": "44bf29f1df45786098920c655af523535a9191ae",
"type": "github"
},
"original": {

104
flake.nix
View File

@@ -10,7 +10,7 @@
};
catppuccin.url = "github:catppuccin/nix";
home-manager = {
url = "github:nix-community/home-manager";
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
@@ -19,67 +19,95 @@
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager-stable = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
};
outputs = {
self,
nixpkgs,
catppuccin,
nur,
home-manager,
plasma-manager,
...
} @ inputs: {
# Please replace my-nixos with your hostname
nixosConfigurations = {
anzu = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
} @ inputs: let
hosts = import ./hosts/hosts.nix;
# Make config for non-NixOS hosts
mkHomeConfiguration = {
host,
nixpkgs,
home-manager,
modules ? [],
}:
home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = host.arch;
config = {
allowUnfree = true;
};
overlays = [
nur.overlay
];
};
modules =
[
./hosts/${host.dir}/home.nix
catppuccin.homeModules.catppuccin
]
++ modules;
};
# Make config for NixOS hosts
mkNixOSConfigurations = {
host,
nixpkgs,
home-manager,
modules ? [],
}:
nixpkgs.lib.nixosSystem {
system = host.arch;
specialArgs = {inherit inputs;};
modules = [
# Import the previous configuration.nix we used,
# so the old configuration file still takes effect
./configuration.nix
./hosts/anzu/hardware-configuration.nix
# Add NUR overlay
modules =
[
./hosts/${host.dir}/configuration.nix
nur.modules.nixos.default
# Add catppuccin
catppuccin.nixosModules.catppuccin
# Add home-manager
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
home-manager.users.chase = {
imports = [
./home/home.nix
home-manager.users."${host.user}".imports = [
./hosts/${host.dir}/home.nix
catppuccin.homeModules.catppuccin
];
}
]
++ modules;
};
in {
# Please replace my-nixos with your hostname
nixosConfigurations = {
"anzu" = mkNixOSConfigurations {
host = hosts.anzu;
nixpkgs = inputs.nixpkgs;
home-manager = inputs.home-manager;
modules = [
{
home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
}
];
};
ichigo = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
"ichigo" = mkNixOSConfigurations {
host = hosts.ichigo;
nixpkgs = inputs.nixpkgs;
home-manager = inputs.home-manager;
modules = [
./configuration.nix
./hosts/ichigo/hardware-configuration.nix
nur.modules.nixos.default
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [plasma-manager.homeManagerModules.plasma-manager];
home-manager.users.chase = {
imports = [
./home/home.nix
catppuccin.homeModules.catppuccin
];
};
}
];
};

183
home/base.nix Normal file
View File

@@ -0,0 +1,183 @@
{
config,
pkgs,
...
}: {
home = {
username = "chase";
homeDirectory = "/home/chase";
preferXdgDirectories = true;
file = {
"scripts" = {
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
recursive = true;
};
};
sessionPath = [
"$HOME/scripts"
];
shellAliases = {
gs = "git status";
"..." = "cd ../..";
};
};
xdg = {
enable = true;
userDirs.enable = true;
configFile = {
"emacs/early-init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
};
"emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
};
};
};
catppuccin = {
enable = true;
flavor = "mocha";
};
programs.bash = {
enable = true;
enableCompletion = true;
bashrcExtra = ''
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
'';
historyIgnore = [
"ls"
"ls -a"
"ls -l"
"ls -la"
"cd"
"exit"
];
};
programs.bat.enable = true;
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "nixos_small";
};
display = {
size = {
binaryPrefix = "si";
};
color = "blue";
separator = ": ";
};
modules = [
"title"
"separator"
"os"
"host"
"uptime"
"kernel"
"packages"
"lm"
"de"
"wm"
"shell"
"terminal"
"terminalfont"
{
key = "Display";
type = "display";
}
"cpu"
"gpu"
"memory"
"swap"
"disk"
"datetime"
"colors"
"break"
"player"
"media"
];
};
};
programs.git = {
enable = true;
userName = "chase";
userEmail = "chase@cathoderaytube.net";
extraConfig = {
init.defaultBranch = "main";
};
};
programs.git-credential-oauth.enable = true;
programs.gpg = {
enable = true;
homedir = "${config.xdg.dataHome}/gnupg";
};
programs.htop.enable = true;
programs.ranger.enable = true;
programs.rmpc = {
enable = true;
config = ''
(
enable_config_hot_reload: true,
)
'';
};
# programs.senpai.enable = true;
# programs.sm64ex.enable = true;
programs.starship = {
enable = true;
enableBashIntegration = true;
settings = {
line_break = {
disabled = true;
};
username = {
style_user = "bold blue";
format = "[$user]($style)@";
show_always = true;
};
hostname = {
style = "bold cyan";
format = "[$ssh_symbol$hostname]($style) ";
ssh_only = false;
};
directory = {
style = "bold green";
};
};
};
programs.texlive.enable = true;
programs.yazi = {
enable = true;
enableBashIntegration = true;
};
programs.yt-dlp = {
enable = true;
settings = {
embed-thumbnail = true;
};
};
home.packages = with pkgs; [
ffmpeg
fortune
imagemagick
lolcat
nerd-fonts.blex-mono
];
}

View File

@@ -4,115 +4,14 @@
...
}: {
imports = [
./plasma.nix
./base.nix
];
home = {
username = "chase";
homeDirectory = "/home/chase";
preferXdgDirectories = true;
stateVersion = "24.11";
file = {
"scripts" = {
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
recursive = true;
};
};
sessionPath = [
"$HOME/scripts"
];
shellAliases = {
gs = "git status";
"..." = "cd ../..";
};
};
xdg = {
enable = true;
userDirs.enable = true;
configFile = {
"emacs/early-init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
};
"emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
};
};
};
catppuccin = {
enable = true;
flavor = "mocha";
};
programs.bash = {
enable = true;
enableCompletion = true;
bashrcExtra = ''
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
'';
historyIgnore = [
"ls"
"ls -a"
"ls -l"
"ls -la"
"cd"
"exit"
];
};
programs.bat.enable = true;
programs.emacs = {
enable = true;
package = pkgs.emacs-pgtk;
};
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "nixos_small";
};
display = {
size = {
binaryPrefix = "si";
};
color = "blue";
separator = ": ";
};
modules = [
"title"
"separator"
"os"
"host"
"uptime"
"kernel"
"packages"
"lm"
"de"
"wm"
"shell"
"terminal"
"terminalfont"
{
key = "Display";
type = "display";
}
"cpu"
"gpu"
"memory"
"swap"
"disk"
"datetime"
"colors"
"break"
"player"
"media"
];
};
};
programs.firefox = {
enable = true;
nativeMessagingHosts = [pkgs.firefoxpwa];
@@ -210,24 +109,6 @@
};
};
programs.git = {
enable = true;
userName = "chase";
userEmail = "chase@cathoderaytube.net";
extraConfig = {
init.defaultBranch = "main";
};
};
programs.git-credential-oauth.enable = true;
programs.gpg = {
enable = true;
homedir = "${config.xdg.dataHome}/gnupg";
};
programs.htop.enable = true;
programs.kitty = {
enable = true;
enableGitIntegration = true;
@@ -251,87 +132,21 @@
programs.obs-studio.enable = true;
programs.ranger.enable = true;
programs.rmpc = {
enable = true;
config = ''
(
enable_config_hot_reload: true,
)
'';
};
# programs.senpai.enable = true;
# programs.sm64ex.enable = true;
programs.starship = {
enable = true;
enableBashIntegration = true;
settings = {
line_break = {
disabled = true;
};
username = {
style_user = "bold blue";
format = "[$user]($style)@";
show_always = true;
};
hostname = {
style = "bold cyan";
format = "[$ssh_symbol$hostname]($style) ";
ssh_only = false;
};
directory = {
style = "bold green";
};
};
};
programs.texlive.enable = true;
programs.waybar = {
enable = true;
systemd = {
enable = true;
target = "hyprland-session.target";
};
};
programs.yazi = {
enable = true;
enableBashIntegration = true;
};
programs.yt-dlp = {
enable = true;
settings = {
embed-thumbnail = true;
};
};
home.packages = with pkgs; [
anki-bin
audacity
ffmpeg
fortune
gimp
ibm-plex
imagemagick
kdePackages.kdenlive
libnotify
libreoffice
logiops
lolcat
nerd-fonts.blex-mono
picard
protonmail-bridge
thunderbird
vcv-rack
runelite
];
services.arrpc.enable = true;
services.emacs = {
@@ -347,18 +162,6 @@
defaultEditor = true;
};
services.hyprpolkitagent.enable = true;
services.hyprsunset.enable = true;
services.hyprpaper = {
enable = true;
settings = {
preload = ["/home/chase/nixos-config/home/wallpaper.jpg"];
wallpaper = ["/home/chase/nixos-config/home/wallpaper.jpg"];
};
};
services.mako.enable = true;
services.mpd = {
@@ -388,11 +191,4 @@
enable = true;
mpd.useLocal = true;
};
wayland.windowManager.hyprland = {
enable = true;
package = null;
portalPackage = null;
systemd.enable = true;
};
}

32
home/hypr.nix Normal file
View File

@@ -0,0 +1,32 @@
{
config,
pkgs,
...
}: {
programs.waybar = {
enable = true;
systemd = {
enable = true;
target = "hyprland-session.target";
};
};
services.hyprpolkitagent.enable = true;
services.hyprsunset.enable = true;
services.hyprpaper = {
enable = true;
settings = {
preload = ["/home/chase/nixos-config/home/wallpaper.jpg"];
wallpaper = ["/home/chase/nixos-config/home/wallpaper.jpg"];
};
};
wayland.windowManager.hyprland = {
enable = true;
package = null;
portalPackage = null;
systemd.enable = true;
};
}

View File

@@ -0,0 +1,21 @@
{
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../../nixos/desktop.nix
];
hardware.graphics = {
extraPackages = with pkgs; [
amdvlk
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
system.stateVersion = "24.11";
}

13
hosts/anzu/home.nix Normal file
View File

@@ -0,0 +1,13 @@
{
config,
pkgs,
...
}: {
imports = [
../../home/desktop.nix
../../home/hypr.nix
../../home/plasma.nix
];
home.stateVersion = "24.11";
}

22
hosts/hosts.nix Normal file
View File

@@ -0,0 +1,22 @@
let
user = "chase";
in {
anzu = {
hostname = "anzu";
dir = "anzu";
arch = "x86_64-Linux";
user = user;
};
ichigo = {
hostname = "ichigo";
dir = "ichigo";
arch = "x86_64-Linux";
user = user;
};
kuromi = {
hostname = "kuromi";
dir = "kuromi";
arch = "x86_64-Linux";
user = user;
};
}

View File

@@ -0,0 +1,21 @@
{
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../../nixos/desktop.nix
];
hardware.graphics = {
extraPackages = with pkgs; [
amdvlk
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
system.stateVersion = "24.11";
}

13
hosts/ichigo/home.nix Normal file
View File

@@ -0,0 +1,13 @@
{
config,
pkgs,
...
}: {
imports = [
../../home/desktop.nix
../../home/hypr.nix
../../home/plasma.nix
];
home.stateVersion = "24.11";
}

156
nixos/base.nix Normal file
View File

@@ -0,0 +1,156 @@
{
config,
pkgs,
lib,
inputs,
...
}: {
# Bootloader.
boot.loader.systemd-boot = {
enable = true;
configurationLimit = 10;
};
boot.loader.efi.canTouchEfiVariables = true;
# Garbage collection
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 1w";
};
# Optimize store
nix.settings.auto-optimise-store = true;
# Allow power management
powerManagement.enable = true;
# Firmware updates
services.fwupd.enable = true;
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "C.UTF-8";
};
# Catppuccin
catppuccin = {
enable = true;
flavor = "mocha";
};
# Configure keymap
console.keyMap = "jp106";
services.xserver.xkb = {
layout = lib.mkDefault "jp";
model = "jp106";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable Flakes
nix.settings.experimental-features = ["nix-command" "flakes"];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Bash config
programs.bash = {
blesh.enable = true;
};
# Define a user account
users.users.chase = {
isNormalUser = true;
description = "Chase";
extraGroups = ["networkmanager" "wheel"];
};
# Install git and enable cache
programs.git = {
enable = true;
config = {
init = {
defaultBranch = "main";
};
credential = {
helper = "cache --timeout 21600";
};
};
};
# Install Neovim
programs.neovim = {
enable = true;
defaultEditor = true;
configure = {
customRC = ''
set autoindent
set number relativenumber
set tabstop=4
colorscheme catppuccin-mocha
'';
packages.myVimPackage = with pkgs.vimPlugins; {
start = [catppuccin-nvim];
};
};
viAlias = true;
vimAlias = true;
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
alejandra
bitwarden-cli
cifs-utils
flashrom
gcc
nixd
pciutils
python3
qemu
rustup
usbutils
wget
];
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
# ssh agent
# programs.mtr.enable = true;
programs.gnupg.agent.enable = true;
programs.ssh = {
enableAskPassword = false;
};
services.fstrim.enable = lib.mkDefault true;
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
}

138
nixos/desktop.nix Normal file
View File

@@ -0,0 +1,138 @@
{
config,
pkgs,
inputs,
...
}: {
imports = [
./base.nix
];
# Use latest stable kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Enable Bluetooth
hardware.bluetooth.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.xserver.enable = true;
services.displayManager.sddm = {
enable = true;
extraPackages = [pkgs.kdePackages.sddm-kcm];
wayland.enable = true;
enableHidpi = true;
};
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
kate
];
# Cachix for Hyprland
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
# Hyprland
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
# Catppuccin
catppuccin = {
sddm = {
enable = true;
background = "/home/chase/nixos-config/home/wallpaper.jpg";
flavor = "mocha";
font = "IBM Plex Sans";
fontSize = "11";
};
};
# Enable graphics
hardware.graphics = {
enable = true;
enable32Bit = true;
};
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-mozc
kdePackages.fcitx5-qt
];
fcitx5.waylandFrontend = true;
};
# Fonts
fonts = {
packages = with pkgs; [
ibm-plex
liberation_ttf
nerd-fonts.blex-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
];
fontconfig = {
defaultFonts = {
serif = ["IBM Plex Serif"];
sansSerif = ["IBM Plex Sans"];
monospace = ["BlexMono Nerd Font"];
};
};
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Install firefox
programs.firefox = {
enable = true;
nativeMessagingHosts.packages = [pkgs.firefoxpwa];
policies = {
DisableTelemetry = true;
DisableFirefoxAccounts = true;
DisableFirefoxStudies = true;
DisablePocket = true;
};
};
# Install Steam
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
bitwarden-desktop
(catppuccin-kde.override {
flavour = ["mocha"];
accents = [
"blue"
"lavender"
"pink"
"sapphire"
];
winDecStyles = ["classic"];
})
firefoxpwa
];
services.fprintd.enable = true;
}