change structure to make it more readable

This commit is contained in:
lucy 2026-07-30 17:20:40 +02:00
commit ad86712653
31 changed files with 259 additions and 234 deletions

View file

@ -1,159 +0,0 @@
{
inputs,
pkgs,
...
}:
{
imports = [
./stylix.nix
./nixvim/nixvim.nix
];
boot.loader.systemd-boot = {
edk2-uefi-shell.enable = true;
configurationLimit = 5;
};
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.package = pkgs.lixPackageSets.stable.lix;
nix.settings.trusted-users = [ "lucy" ];
networking.hostName = "nixos"; # Define your hostname.
networking.networkmanager.enable = true;
networking.networkmanager.wifi.powersave = false;
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
services.xserver.xkb = {
layout = "eu";
variant = "";
};
services.displayManager.ly.enable = true;
programs.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
};
programs.hyprland = {
package = pkgs.hyprland;
enable = true;
withUWSM = true; # recommended for most users
xwayland.enable = true; # Xwayland can be disabled.
};
security.doas.enable = true;
security.sudo.enable = false;
security.doas.extraRules = [
{
users = [
"lucy"
"root"
];
groups = [ "wheel" ];
keepEnv = true;
persist = true; # Optional, only require password verification a single time
}
];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
ohMyZsh.enable = true;
ohMyZsh.theme = "gentoo";
interactiveShellInit = ''eval "$(devenv hook zsh)"'';
};
# Enable CUPS to print documents.
services.printing.enable = true;
# 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;
};
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
programs.xppen = {
enable = true;
package = pkgs.xppen_4.overrideAttrs (old: {
src = pkgs.fetchurl {
url = "https://download01.xp-pen.com/file/2026/04/XPPenLinux4.0.15-260422.tar.gz";
hash = "sha256-Jady+pbqnzmVMuM0Io4/aE5B7dqNlDKPsnRj/Fbln6U=";
};
buildInputs = (old.buildInputs or [ ]) ++ [
pkgs.libXtst
pkgs.libXrandr
];
});
};
# Define a user account. Don't forget to set a password with ‘passwd’.
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
nerd-fonts.symbols-only
];
users.users."lucy" = {
shell = pkgs.zsh;
isNormalUser = true;
description = "lucy";
extraGroups = [
"networkmanager"
"wheel"
];
};
programs.direnv.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wl-clipboard
btop
ripgrep
fd
bat
grimblast
git
blueman
devenv
inetutils
filezilla
];
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Experimental = true;
FastConnectable = true;
};
Policy = {
AutoEnable = true;
};
};
};
# DO NOT CHANGE!!
system.stateVersion = "26.05"; # Did you read the comment?
}

View file

@ -46,9 +46,9 @@
nixosConfigurations.seele = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./easyroam.nix
./configuration.nix
./nixvim/nixvim.nix
./nixos/easyroam.nix
./nixos/configuration.nix
./nixos/nixvim/nixvim.nix
./hw-configs/laptop.nix
nix-easyroam.nixosModules.nix-easyroam
stylix.nixosModules.stylix
@ -85,8 +85,8 @@
nixosConfigurations.nerv = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./configuration.nix
./nixvim/nixvim.nix
./nixos/configuration.nix
./nixos/nixvim/nixvim.nix
./hw-configs/desktop.nix
lanzaboote.nixosModules.lanzaboote
nix-easyroam.nixosModules.nix-easyroam

23
home-manager/home.nix Normal file
View file

@ -0,0 +1,23 @@
{
inputs,
...
}:
{
imports = [
./stylix.nix
./fastfetch.nix
./hyprland.nix
./programs/common.nix
./programs/foot.nix
./programs/git.nix
./programs/nixcord.nix
./hyprland/hyprland.nix
inputs.nixcord.homeModules.nixcord
inputs.spicetify-nix.homeManagerModules.spicetify
];
home.pointerCursor.enable = true;
home.username = "lucy";
home.homeDirectory = "/home/lucy";
home.stateVersion = "26.05";
}

View file

@ -1,6 +1,5 @@
{
config,
inputs,
pkgs,
...
}:
@ -12,11 +11,10 @@
extraConfig = ''
require("main")
'';
portalPackage =
pkgs.xdg-desktop-portal-hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
xdg.configFile."hypr/main.lua".source =
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/home/hyprland.lua";
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/home/hyprland/hyprland.lua";
xdg.portal.config = {
common = {
default = [ "gtk" ];

View file

@ -0,0 +1,16 @@
{ pkgs, ... }: {
programs.quickshell.enable = true;
programs.fuzzel.enable = true;
programs.google-chrome.enable = true;
programs.home-manager.enable = true;
services.syncthing.enable = true;
programs.spicetify.enable = true;
home.packages = with pkgs; [
xournalpp
fastfetch
hyfetch
nemo
pavucontrol
material-symbols
];
}

View file

@ -0,0 +1,10 @@
{ pkgs, ... }: {
programs.foot = {
enable = true;
settings = {
main = {
pad = "20x20";
};
};
};
}

View file

@ -0,0 +1,10 @@
{
programs.git = {
enable = true;
settings = {
user.name = "lucy";
user.email = "lucykaufmann@protonmail.com";
init.defaultBranch = "main";
};
};
}

View file

@ -0,0 +1,12 @@
{
programs.nixcord = {
enable = true;
discord.vencord.enable = true;
config = {
plugins = {
messageClickActions.enable = true;
messageLogger.enable = true;
};
};
};
}

View file

@ -1,65 +0,0 @@
{
inputs,
pkgs,
...
}:
{
imports = [
./stylix.nix
./fastfetch.nix
./hyprland.nix
inputs.nixcord.homeModules.nixcord
inputs.spicetify-nix.homeManagerModules.spicetify
];
programs.spicetify = {
enable = true;
wayland = true;
};
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.packages = with pkgs; [
xournalpp
fastfetch
hyfetch
nemo
pavucontrol
material-symbols
];
home.pointerCursor.enable = true;
home.username = "lucy";
home.homeDirectory = "/home/lucy";
services.syncthing.enable = true;
programs.git = {
enable = true;
settings = {
user.name = "lucy";
user.email = "lucykaufmann@protonmail.com";
init.defaultBranch = "main";
};
};
programs.quickshell.enable = true;
programs.fuzzel.enable = true;
programs.nixcord = {
enable = true;
discord.vencord.enable = true;
config = {
plugins = {
messageClickActions.enable = true;
messageLogger.enable = true;
};
};
};
programs.google-chrome.enable = true;
programs.foot = {
enable = true;
settings = {
main = {
pad = "20x20";
};
};
};
# DANGER ZONE
programs.home-manager.enable = true;
home.stateVersion = "26.05";
}

80
nixos/configuration.nix Normal file
View file

@ -0,0 +1,80 @@
{
pkgs,
...
}:
{
imports = [
./stylix.nix
./nixvim/nixvim.nix
./programs/common.nix
./programs/steam.nix
./programs/system-packages.nix
./programs/xppen.nix
./programs/zsh.nix
./hardware/common.nix
./hardware/bluetooth.nix
./services/common.nix
./services/pipewire.nix
./stylix/stylix.nix
./easyroam.nix
];
boot.loader.systemd-boot = {
edk2-uefi-shell.enable = true;
configurationLimit = 5;
};
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nix.package = pkgs.lixPackageSets.stable.lix;
nix.settings.trusted-users = [ "lucy" ];
networking.hostName = "nixos"; # Define your hostname.
networking.networkmanager.enable = true;
networking.networkmanager.wifi.powersave = false;
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
services.xserver.xkb = {
layout = "eu";
variant = "";
};
security.doas.enable = true;
security.sudo.enable = false;
security.doas.extraRules = [
{
users = [
"lucy"
"root"
];
groups = [ "wheel" ];
keepEnv = true;
persist = true; # Optional, only require password verification a single time
}
];
users.users."lucy" = {
shell = pkgs.zsh;
isNormalUser = true;
description = "lucy";
extraGroups = [
"networkmanager"
"wheel"
];
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "26.05"; # Did you read the comment?
}

View file

@ -0,0 +1,15 @@
{
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Experimental = true;
FastConnectable = true;
};
Policy = {
AutoEnable = true;
};
};
};
}

View file

10
nixos/programs/common.nix Normal file
View file

@ -0,0 +1,10 @@
{ pkgs, ... }: {
programs.hyprland = {
package = pkgs.hyprland;
enable = true;
withUWSM = true; # recommended for most users
xwayland.enable = true; # Xwayland can be disabled.
};
programs.direnv.enable = true;
}

10
nixos/programs/fonts.nix Normal file
View file

@ -0,0 +1,10 @@
{ pkgs }: {
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
nerd-fonts.symbols-only
];
}

8
nixos/programs/steam.nix Normal file
View file

@ -0,0 +1,8 @@
{
programs.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
};
}

View file

@ -0,0 +1,15 @@
{ pkgs }: {
environment.systemPackages = with pkgs; [
wl-clipboard
btop
ripgrep
fd
bat
grimblast
git
blueman
devenv
inetutils
filezilla
];
}

16
nixos/programs/xppen.nix Normal file
View file

@ -0,0 +1,16 @@
{ pkgs }: {
programs.xppen = {
enable = true;
package = pkgs.xppen_4.overrideAttrs (old: {
src = pkgs.fetchurl {
url = "https://download01.xp-pen.com/file/2026/04/XPPenLinux4.0.15-260422.tar.gz";
hash = "sha256-Jady+pbqnzmVMuM0Io4/aE5B7dqNlDKPsnRj/Fbln6U=";
};
buildInputs = (old.buildInputs or [ ]) ++ [
pkgs.libXtst
pkgs.libXrandr
];
});
};
}

11
nixos/programs/zsh.nix Normal file
View file

@ -0,0 +1,11 @@
{
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
ohMyZsh.enable = true;
ohMyZsh.theme = "gentoo";
interactiveShellInit = ''eval "$(devenv hook zsh)"'';
};
}

View file

@ -0,0 +1,5 @@
{
services.printing.enable = true;
services.libinput.enable = true;
services.displayManager.ly.enable = true;
}

View file

@ -0,0 +1,10 @@
{
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}

View file

@ -50,7 +50,7 @@ in
stylix = {
enable = true;
autoEnable = false;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruber.yaml";
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
polarity = "dark";
image = ./wallpaper.png;
targets = {

View file

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Before After
Before After