Refactoring

This commit is contained in:
2026-03-09 21:43:40 +00:00
parent 6d89b0c685
commit cb2150362c
14 changed files with 538 additions and 460 deletions

View File

@@ -1,4 +1,4 @@
{ impermanence, ... }:
{ pkgs, ... }:
{
boot = {
@@ -50,5 +50,13 @@
bootspec.enable = true;
resumeDevice = "/dev/disk/by-partlabel/disk-stationette-root";
};
systemd = {
settings = {
Manager = {
DefaultTimeoutStopSec = "5s";
};
};
};
}

View File

@@ -7,5 +7,9 @@
./networking.nix
./packages.nix
./services.nix
]
./users.nix
./programs.nix
./fonts.nix
./hardware.nix
];
}

10
system/fonts.nix Normal file
View File

@@ -0,0 +1,10 @@
{ pkgs, ... }:
{
fonts = {
packages = with pkgs; [
nerd-fonts.jetbrains-mono
nerd-fonts.fira-code
];
};
}

12
system/hardware.nix Normal file
View File

@@ -0,0 +1,12 @@
{ ... }:
{
hardware = {
bluetooth.enable = true;
graphics = {
enable = true;
enable32Bit = true;
};
};
}

View File

@@ -1,7 +1,9 @@
{ pkgs, ... }:
{ pkgs, pkgs-unstable, ... }:
{
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
# hyprland-preview-share-picker.packages.${system}.default # Hyprland share picker TODO: Figure out and configure
bat # Better cat
brightnessctl # Backlight control
btop # Resource monitor
@@ -20,7 +22,6 @@
hyprlock # Screen locker for Hyprland
hyprpaper # Wallpaper utility for Hyprland TODO: Check if necessary with swaybg
hyprpicker # Hyprland colour picker
# hyprland-preview-share-picker.packages.${system}.default # Hyprland share picker TODO: Figure out and configure
imagemagick # Image manipulation tool
impala # Wifi TUI
jq # CLI JSON processor
@@ -30,6 +31,8 @@
makima # Key remapper for Linux TODO: Figure out and configure
mako # Notification daemon
neovim # Editor
nodePackages.pnpm # JavaScript package manager (used by Neovim plugins)
nodejs_24 # JavaScript runtime
openssl # SSL/TLS toolkit
p7zip # 7-Zip archiver
pkgs-unstable.yazi # Terminal file manager
@@ -53,7 +56,22 @@
wl-clipboard # Wayland clipboard manager
wlogout # Wayland logout menu
xdg-terminal-exec # XDG terminal execution utility
yarn # JavaScript package manager
zip # Archiver tool
zoxide # Better cd
];
systemd = {
packages = with pkgs; [
uwsm
];
};
system = {
autoUpgrade = {
enable = true;
allowReboot = false;
runGarbageCollection = true;
};
};
}

44
system/programs.nix Normal file
View File

@@ -0,0 +1,44 @@
{ pkgs, pkgs-unstable, ... }:
{
programs = {
# Easy file sharing on local network
localsend = {
enable = true;
openFirewall = true;
};
zsh = {
enable = true;
};
hyprland = {
enable = true;
package = pkgs-unstable.hyprland;
xwayland.enable = true;
withUWSM = true;
};
steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
chromium = {
enable = true;
extraOpts = {
"BrowserSignin" = 0;
"SyncDisabled" = true;
"PasswordManagerEnabled" = false;
"SpellcheckEnabled" = true;
"SpellcheckLanguage" = [
"en-GB"
];
};
};
};
environment = {
pathsToLink = [
"/share/uwsm"
];
};
}

15
system/users.nix Normal file
View File

@@ -0,0 +1,15 @@
{ pkgs, ... }:
{
users.users.chris = {
uid = 1000;
isNormalUser = true;
initialPassword = "changeme123";
shell = pkgs.zsh;
extraGroups = [
"chris"
"wheel"
"networkmanager"
];
};
}