refactor: modularize configuration to prepare for multi-machine

This commit is contained in:
Youwen Wu 2024-08-03 18:33:40 -07:00
parent aeea4cffb3
commit f829b8c108
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
7 changed files with 79 additions and 71 deletions

View file

@ -31,31 +31,13 @@
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./configuration.nix ./configuration.nix
./modules/nixos/secureboot.nix
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
lix-module.nixosModules.default lix-module.nixosModules.default
lanzaboote.nixosModules.lanzaboote lanzaboote.nixosModules.lanzaboote
({ pkgs, lib, ... }: {
environment.systemPackages = [
# For debugging and troubleshooting Secure Boot.
pkgs.sbctl
];
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
})
{ nixpkgs.overlays = [ (self: super: { }) ]; }
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
@ -63,7 +45,11 @@
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.users.youwen = { home-manager.users.youwen = {
imports = [ ./home.nix catppuccin.homeManagerModules.catppuccin ]; imports = [
./home.nix
./modules/home-manager/linux/desktop.nix
catppuccin.homeManagerModules.catppuccin
];
}; };
} }
]; ];

View file

@ -81,28 +81,11 @@
libsForQt5.qt5ct libsForQt5.qt5ct
]; ];
services.dunst = {
enable = true;
catppuccin.enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
size = "32x32";
};
};
services.easyeffects.enable = true;
services.easyeffects.package = pkgs.easyeffects;
programs.fzf = { programs.fzf = {
enable = true; enable = true;
catppuccin.enable = true; catppuccin.enable = true;
}; };
programs.wlogout.enable = true;
wayland.windowManager.hyprland = import ./modules/desktop/hyprland.nix;
programs.git = { programs.git = {
enable = true; enable = true;
userName = "Youwen Wu"; userName = "Youwen Wu";
@ -154,40 +137,6 @@
extraConfig = "set editing-mode vi"; extraConfig = "set editing-mode vi";
}; };
gtk = {
enable = true;
catppuccin.enable = true;
cursorTheme = {
name = "Bibata-Modern-Ice";
size = 26;
};
iconTheme = { name = "Papirus-Dark"; };
};
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "kvantum";
};
xdg.configFile = {
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=GraphiteNordDark
'';
"Kvantum/GraphiteNord".source =
"${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
};
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
theme = "gruvbox-dark";
};
programs.waybar = import ./modules/desktop/waybar/waybar.nix;
programs.zoxide = { programs.zoxide = {
enable = true; enable = true;
# enableZshIntegration = true; # enableZshIntegration = true;

View file

@ -0,0 +1,56 @@
{ pkgs, ...}:
{
wayland.windowManager.hyprland = import ./hyprland-conf.nix;
# Audio effects and EQ tool
services.easyeffects.enable = true;
services.easyeffects.package = pkgs.easyeffects;
# Notification daemon
services.dunst = {
enable = true;
catppuccin.enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
size = "32x32";
};
};
# Currently non-functional
programs.wlogout.enable = true;
gtk = {
enable = true;
catppuccin.enable = true;
cursorTheme = {
name = "Bibata-Modern-Ice";
size = 26;
};
iconTheme = { name = "Papirus-Dark"; };
};
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "kvantum";
};
xdg.configFile = {
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=GraphiteNordDark
'';
"Kvantum/GraphiteNord".source =
"${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
};
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
theme = "gruvbox-dark";
};
programs.waybar = import ./waybar/waybar-conf.nix;
}

View file

@ -0,0 +1,17 @@
({ pkgs, lib, ... }: {
environment.systemPackages = [
# For debugging and troubleshooting Secure Boot.
pkgs.sbctl
];
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
})