Compare commits

...
Author SHA1 Message Date
0f06aa6f0c fix several issues 2026-07-30 17:37:05 +02:00
ad86712653 change structure to make it more readable 2026-07-30 17:20:40 +02:00
30 changed files with 260 additions and 238 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,16 +46,16 @@
nixosConfigurations.seele = nixpkgs.lib.nixosSystem { nixosConfigurations.seele = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./easyroam.nix ./nixos/easyroam.nix
./configuration.nix ./nixos/configuration.nix
./nixvim/nixvim.nix ./nixos/nixvim/nixvim.nix
./hw-configs/laptop.nix ./nixos/hardware/laptop.nix
nix-easyroam.nixosModules.nix-easyroam nix-easyroam.nixosModules.nix-easyroam
stylix.nixosModules.stylix stylix.nixosModules.stylix
nixvim.nixosModules.nixvim nixvim.nixosModules.nixvim
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.users.lucy = ./home/home.nix; home-manager.users.lucy = ./home-manager/home.nix;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };
@ -85,16 +85,16 @@
nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { nixosConfigurations.nerv = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./configuration.nix ./nixos/configuration.nix
./nixvim/nixvim.nix ./nixos/nixvim/nixvim.nix
./hw-configs/desktop.nix ./nixos/hardware/desktop.nix
lanzaboote.nixosModules.lanzaboote lanzaboote.nixosModules.lanzaboote
nix-easyroam.nixosModules.nix-easyroam nix-easyroam.nixosModules.nix-easyroam
stylix.nixosModules.stylix stylix.nixosModules.stylix
nixvim.nixosModules.nixvim nixvim.nixosModules.nixvim
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.users.lucy = ./home/home.nix; home-manager.users.lucy = ./home-manager/home.nix;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };

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

@ -0,0 +1,22 @@
{
inputs,
...
}:
{
imports = [
./stylix.nix
./programs/fastfetch.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, config,
inputs,
pkgs, pkgs,
... ...
}: }:
@ -12,11 +11,10 @@
extraConfig = '' extraConfig = ''
require("main") require("main")
''; '';
portalPackage = portalPackage = pkgs.xdg-desktop-portal-hyprland;
pkgs.xdg-desktop-portal-hyprland;
}; };
xdg.configFile."hypr/main.lua".source = 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-manager/hyprland/hyprland.lua";
xdg.portal.config = { xdg.portal.config = {
common = { common = {
default = [ "gtk" ]; 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";
}

78
nixos/configuration.nix Normal file
View file

@ -0,0 +1,78 @@
{
pkgs,
...
}:
{
imports = [
./nixvim/nixvim.nix
./programs/common.nix
./programs/steam.nix
./programs/system-packages.nix
./programs/xppen.nix
./programs/zsh.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;
};
};
};
}

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 = { stylix = {
enable = true; enable = true;
autoEnable = false; autoEnable = false;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruber.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
polarity = "dark"; polarity = "dark";
image = ./wallpaper.png; image = ./wallpaper.png;
targets = { targets = {

View file

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Before After
Before After