diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..8e1266e --- /dev/null +++ b/configuration.nix @@ -0,0 +1,159 @@ +{ + 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? + +} diff --git a/nixos/easyroam.nix b/easyroam.nix similarity index 100% rename from nixos/easyroam.nix rename to easyroam.nix diff --git a/flake.nix b/flake.nix index 7d72084..9a7db1f 100644 --- a/flake.nix +++ b/flake.nix @@ -46,16 +46,16 @@ nixosConfigurations.seele = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ - ./nixos/easyroam.nix - ./nixos/configuration.nix - ./nixos/nixvim/nixvim.nix - ./nixos/hardware/laptop.nix + ./easyroam.nix + ./configuration.nix + ./nixvim/nixvim.nix + ./hw-configs/laptop.nix nix-easyroam.nixosModules.nix-easyroam stylix.nixosModules.stylix nixvim.nixosModules.nixvim home-manager.nixosModules.home-manager { - home-manager.users.lucy = ./home-manager/home.nix; + home-manager.users.lucy = ./home/home.nix; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.extraSpecialArgs = { inherit inputs; }; @@ -85,16 +85,16 @@ nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ - ./nixos/configuration.nix - ./nixos/nixvim/nixvim.nix - ./nixos/hardware/desktop.nix + ./configuration.nix + ./nixvim/nixvim.nix + ./hw-configs/desktop.nix lanzaboote.nixosModules.lanzaboote nix-easyroam.nixosModules.nix-easyroam stylix.nixosModules.stylix nixvim.nixosModules.nixvim home-manager.nixosModules.home-manager { - home-manager.users.lucy = ./home-manager/home.nix; + home-manager.users.lucy = ./home/home.nix; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.extraSpecialArgs = { inherit inputs; }; diff --git a/home-manager/home.nix b/home-manager/home.nix deleted file mode 100644 index eebe828..0000000 --- a/home-manager/home.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - 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"; -} diff --git a/home-manager/programs/common.nix b/home-manager/programs/common.nix deleted file mode 100644 index d0d6599..0000000 --- a/home-manager/programs/common.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ 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 - ]; -} diff --git a/home-manager/programs/foot.nix b/home-manager/programs/foot.nix deleted file mode 100644 index fbf4bb8..0000000 --- a/home-manager/programs/foot.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: { - programs.foot = { - enable = true; - settings = { - main = { - pad = "20x20"; - }; - }; - }; -} diff --git a/home-manager/programs/git.nix b/home-manager/programs/git.nix deleted file mode 100644 index 29f1d64..0000000 --- a/home-manager/programs/git.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.git = { - enable = true; - settings = { - user.name = "lucy"; - user.email = "lucykaufmann@protonmail.com"; - init.defaultBranch = "main"; - }; - }; -} diff --git a/home-manager/programs/nixcord.nix b/home-manager/programs/nixcord.nix deleted file mode 100644 index f284d3d..0000000 --- a/home-manager/programs/nixcord.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - programs.nixcord = { - enable = true; - discord.vencord.enable = true; - config = { - plugins = { - messageClickActions.enable = true; - messageLogger.enable = true; - }; - }; - }; -} diff --git a/home-manager/programs/fastfetch.nix b/home/fastfetch.nix similarity index 100% rename from home-manager/programs/fastfetch.nix rename to home/fastfetch.nix diff --git a/home/home.nix b/home/home.nix new file mode 100644 index 0000000..6fa1c50 --- /dev/null +++ b/home/home.nix @@ -0,0 +1,65 @@ +{ + 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"; +} diff --git a/home-manager/hyprland/hyprland.lua b/home/hyprland.lua similarity index 100% rename from home-manager/hyprland/hyprland.lua rename to home/hyprland.lua diff --git a/home-manager/hyprland/hyprland.nix b/home/hyprland.nix similarity index 83% rename from home-manager/hyprland/hyprland.nix rename to home/hyprland.nix index d0cfd9a..50c016d 100644 --- a/home-manager/hyprland/hyprland.nix +++ b/home/hyprland.nix @@ -1,5 +1,6 @@ { config, + inputs, pkgs, ... }: @@ -11,10 +12,11 @@ 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-manager/hyprland/hyprland.lua"; + config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/home/hyprland.lua"; xdg.portal.config = { common = { default = [ "gtk" ]; diff --git a/home-manager/stylix.nix b/home/stylix.nix similarity index 100% rename from home-manager/stylix.nix rename to home/stylix.nix diff --git a/nixos/hardware/desktop.nix b/hw-configs/desktop.nix similarity index 100% rename from nixos/hardware/desktop.nix rename to hw-configs/desktop.nix diff --git a/nixos/hardware/laptop.nix b/hw-configs/laptop.nix similarity index 100% rename from nixos/hardware/laptop.nix rename to hw-configs/laptop.nix diff --git a/nixos/configuration.nix b/nixos/configuration.nix deleted file mode 100644 index b5d0c29..0000000 --- a/nixos/configuration.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ - 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? - -} diff --git a/nixos/hardware/bluetooth.nix b/nixos/hardware/bluetooth.nix deleted file mode 100644 index b0f12a3..0000000 --- a/nixos/hardware/bluetooth.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - hardware.bluetooth = { - enable = true; - powerOnBoot = true; - settings = { - General = { - Experimental = true; - FastConnectable = true; - }; - Policy = { - AutoEnable = true; - }; - }; - }; -} diff --git a/nixos/programs/common.nix b/nixos/programs/common.nix deleted file mode 100644 index aca4709..0000000 --- a/nixos/programs/common.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ 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; - -} diff --git a/nixos/programs/fonts.nix b/nixos/programs/fonts.nix deleted file mode 100644 index e8d7db6..0000000 --- a/nixos/programs/fonts.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: { - - fonts.packages = with pkgs; [ - noto-fonts - noto-fonts-cjk-sans - noto-fonts-color-emoji - nerd-fonts.symbols-only - ]; - -} diff --git a/nixos/programs/steam.nix b/nixos/programs/steam.nix deleted file mode 100644 index 65035f8..0000000 --- a/nixos/programs/steam.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - 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 - }; -} diff --git a/nixos/programs/system-packages.nix b/nixos/programs/system-packages.nix deleted file mode 100644 index 45d3380..0000000 --- a/nixos/programs/system-packages.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - wl-clipboard - btop - ripgrep - fd - bat - grimblast - git - blueman - devenv - inetutils - filezilla - ]; -} diff --git a/nixos/programs/xppen.nix b/nixos/programs/xppen.nix deleted file mode 100644 index f878fe7..0000000 --- a/nixos/programs/xppen.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ 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 - ]; - }); - }; -} diff --git a/nixos/programs/zsh.nix b/nixos/programs/zsh.nix deleted file mode 100644 index 8ae74e4..0000000 --- a/nixos/programs/zsh.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - programs.zsh = { - enable = true; - enableCompletion = true; - autosuggestions.enable = true; - syntaxHighlighting.enable = true; - ohMyZsh.enable = true; - ohMyZsh.theme = "gentoo"; - interactiveShellInit = ''eval "$(devenv hook zsh)"''; - }; -} diff --git a/nixos/services/common.nix b/nixos/services/common.nix deleted file mode 100644 index 0809de1..0000000 --- a/nixos/services/common.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - services.printing.enable = true; - services.libinput.enable = true; - services.displayManager.ly.enable = true; -} diff --git a/nixos/services/pipewire.nix b/nixos/services/pipewire.nix deleted file mode 100644 index ba917dc..0000000 --- a/nixos/services/pipewire.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; -} diff --git a/nixos/nixvim/keymaps.nix b/nixvim/keymaps.nix similarity index 100% rename from nixos/nixvim/keymaps.nix rename to nixvim/keymaps.nix diff --git a/nixos/nixvim/nixvim.nix b/nixvim/nixvim.nix similarity index 100% rename from nixos/nixvim/nixvim.nix rename to nixvim/nixvim.nix diff --git a/nixos/nixvim/plugins.nix b/nixvim/plugins.nix similarity index 100% rename from nixos/nixvim/plugins.nix rename to nixvim/plugins.nix diff --git a/nixos/stylix/stylix.nix b/stylix.nix similarity index 95% rename from nixos/stylix/stylix.nix rename to stylix.nix index 99c7c49..7e498d7 100644 --- a/nixos/stylix/stylix.nix +++ b/stylix.nix @@ -50,7 +50,7 @@ in stylix = { enable = true; autoEnable = false; - base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruber.yaml"; polarity = "dark"; image = ./wallpaper.png; targets = { diff --git a/nixos/stylix/wallpaper.png b/wallpaper.png similarity index 100% rename from nixos/stylix/wallpaper.png rename to wallpaper.png