wip: refactor structure

This commit is contained in:
Sean Kovacs 2025-11-13 11:29:01 -05:00
commit 5b648d9784
Signed by: sckova
GPG key ID: 00F325187C68651A
5 changed files with 173 additions and 169 deletions

View file

@ -68,8 +68,9 @@
(import ./packages/helium-browser/overlay.nix) (import ./packages/helium-browser/overlay.nix)
]; ];
} }
./hosts/all.nix ./system/all.nix
./hosts/${hostname}.nix ./system/browsers/firefox.nix
./system/hosts/${hostname}/default.nix
./hardware/${hostname}.nix ./hardware/${hostname}.nix
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager

167
system/all.nix Executable file
View file

@ -0,0 +1,167 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
lib,
pkgs,
inputs,
...
}:
{
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.settings.trusted-users = [
"root"
"sckova"
];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.sckova = {
imports = [
../home/all.nix
../home/${config.networking.hostName}.nix
];
};
boot = {
plymouth = {
enable = true;
};
loader = {
timeout = 3;
systemd-boot = {
enable = true;
configurationLimit = null;
};
efi = {
canTouchEfiVariables = false;
};
};
kernelParams = [
"quiet"
"splash"
"vga=current"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
"boot.shell_on_fail"
"apple_dcp.show_notch=1"
];
consoleLogLevel = 0;
initrd.verbose = false;
};
catppuccin = {
enable = true;
flavor = "mocha";
};
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
time.timeZone = "America/New_York";
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 = "en_US.UTF-8";
};
# Enable OpenGL
hardware.graphics = {
enable = true;
};
services = {
desktopManager.plasma6.enable = true;
displayManager.sddm = {
enable = true;
wayland.enable = true;
enableHidpi = true;
};
libinput.enable = true;
tailscale = {
enable = true;
useRoutingFeatures = "client";
};
};
services.printing.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.sckova = {
isNormalUser = true;
description = "Sean Kovacs";
extraGroups = [
"networkmanager"
"wheel"
];
packages = with pkgs; [ ];
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
};
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
nixpkgs.config.allowUnfree = true;
environment = {
systemPackages = with pkgs; [
git
inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default
firefoxpwa
];
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.openssh.enable = true;
networking.firewall.enable = false;
networking.extraHosts = ''
0.0.0.0 apresolve.spotify.com
'';
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

168
hosts/all.nix → system/browsers/firefox.nix Executable file → Normal file
View file

@ -1,14 +1,4 @@
# Edit this configuration file to define what should be installed on { pkgs, ... }:
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
lib,
pkgs,
inputs,
...
}:
let let
lock-false = { lock-false = {
@ -21,117 +11,7 @@ let
}; };
in in
{ {
nix.settings.experimental-features = [ environment.variables = rec {
"nix-command"
"flakes"
];
nix.settings.trusted-users = [
"root"
"sckova"
];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.sckova = {
imports = [
../home/all.nix
../home/${config.networking.hostName}.nix
];
};
boot = {
plymouth = {
enable = true;
};
loader = {
timeout = 3;
systemd-boot = {
enable = true;
configurationLimit = null;
};
efi = {
canTouchEfiVariables = false;
};
};
kernelParams = [
"quiet"
"splash"
"vga=current"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
"boot.shell_on_fail"
"apple_dcp.show_notch=1"
];
consoleLogLevel = 0;
initrd.verbose = false;
};
catppuccin = {
enable = true;
flavor = "mocha";
};
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
time.timeZone = "America/New_York";
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 = "en_US.UTF-8";
};
# Enable OpenGL
hardware.graphics = {
enable = true;
};
services = {
desktopManager.plasma6.enable = true;
displayManager.sddm = {
enable = true;
wayland.enable = true;
enableHidpi = true;
};
libinput.enable = true;
tailscale = {
enable = true;
useRoutingFeatures = "client";
};
};
services.printing.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.sckova = {
isNormalUser = true;
description = "Sean Kovacs";
extraGroups = [
"networkmanager"
"wheel"
];
packages = with pkgs; [ ];
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
};
environment.sessionVariables = rec {
MOZ_GMP_PATH = "${pkgs.widevine-firefox}/gmp-widevinecdm/system-installed"; MOZ_GMP_PATH = "${pkgs.widevine-firefox}/gmp-widevinecdm/system-installed";
}; };
@ -238,48 +118,4 @@ in
}; };
}; };
}; };
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
nixpkgs.config.allowUnfree = true;
environment = {
systemPackages = with pkgs; [
git
inputs.kwin-effects-forceblur.packages.${pkgs.stdenv.hostPlatform.system}.default
firefoxpwa
];
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.openssh.enable = true;
networking.firewall.enable = false;
networking.extraHosts = ''
0.0.0.0 apresolve.spotify.com
'';
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -20,7 +20,7 @@
# extractPeripheralFirmware = false; # extractPeripheralFirmware = false;
# This is broken because of flake git tracking. # This is broken because of flake git tracking.
# I can't figure out how to make it work. # I can't figure out how to make it work.
peripheralFirmwareDirectory = ../firmware; peripheralFirmwareDirectory = ./firmware;
}; };
swapDevices = [ swapDevices = [