diff --git a/configuration.nix b/configuration.nix index 692bc71..c84eb12 100755 --- a/configuration.nix +++ b/configuration.nix @@ -6,62 +6,10 @@ }: { - age.enable = true; age.identityPaths = [ "/var/lib/misc/key.age" ]; age.secrets.easyroam.file = ./secrets/easyroam.age; - services.easyroam = { - enable = true; - pkcsFile = config.age.secrets.easyroam.path; - networkmanager.enable = true; - }; - systemd.services.wpa_supplicant = { - wants = [ "easyroam-cert-setup.service" ]; - after = [ "easyroam-cert-setup.service" ]; - }; - services.tlp = lib.mkIf (config.networking.hostName == "seele") { - enable = true; - pd.enable = true; - }; - programs.steam.enable = true; - services.syncthing = { - user = "lucy"; - dataDir = "/home/lucy/sync"; - configDir = "/home/lucy/.config/syncthing"; - enable = true; - openDefaultPorts = true; - settings = { - devices = { - "cyberia" = { - id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD"; - }; - }; - }; - }; - hardware.bluetooth = { - enable = true; - powerOnBoot = false; - input.General.ClassicBondedOnly = false; - - settings = { - - General = { - Experimental = true; - - }; - }; - }; - - hardware.graphics.enable = true; - services.blueman.enable = true; - services.xserver.videoDrivers = lib.mkIf (config.networking.hostName == "nerv") [ "nvidia" ]; - hardware.nvidia = lib.mkIf (config.networking.hostName == "nerv") { - modesetting.enable = true; - open = true; - package = config.boot.kernelPackages.nvidiaPackages.new_feature; - }; environment.sessionVariables.NIXOS_OZONE_WL = "1"; - boot.loader.systemd-boot.enable = false; boot.loader.efi.canTouchEfiVariables = true; boot.loader.limine = { enable = true; @@ -70,12 +18,9 @@ protocol: efi path: uuid(6E25-7E8D):/EFI/Microsoft/Boot/bootmgfw.efi ''; - }; boot.kernelPackages = pkgs.linuxPackages_latest; - networking.networkmanager.enable = true; - time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { @@ -89,55 +34,10 @@ LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; - services.displayManager.gdm.enable = true; - services.emacs.enable = false; - services.xserver.xkb = { - layout = "eu"; - variant = ""; - }; - services.printing.enable = true; - services.pulseaudio.enable = false; security.rtkit.enable = true; - services.upower.enable = true; - - # add niri security.polkit.enable = true; # polkit security.polkit.enablePkexecWrapper = true; - services.gnome.gnome-keyring.enable = true; - services.gvfs.enable = true; - services.udisks2.enable = true; programs.niri.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - programs.nixcord = { - enable = true; - user = "lucy"; - discord.enable = false; - vesktop.enable = true; - config.plugins = { - messageLogger.enable = true; - messageClickActions.enable = true; - }; - config.enabledThemes = [ "tinted.css" ]; - }; - programs.zsh = { - enable = true; - enableCompletion = true; - autosuggestions.enable = true; - syntaxHighlighting.enable = true; - ohMyZsh = { - enable = true; - theme = "gentoo"; - }; - shellInit = ''export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"''; - }; - system.userActivationScripts.zshrc = "touch .zshrc"; - - users.users."lucy" = { isNormalUser = true; description = "lucy"; diff --git a/flake.nix b/flake.nix index bf5f1ff..6216fde 100755 --- a/flake.nix +++ b/flake.nix @@ -44,6 +44,7 @@ nix-easyroam.nixosModules.nix-easyroam ./configuration.nix ./maid.nix + ./modules/default.nix ]; in { diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..0e2ea03 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./programs + ./services + ./hardware + ]; +} diff --git a/modules/hardware/bluetooth.nix b/modules/hardware/bluetooth.nix new file mode 100644 index 0000000..5b22ad4 --- /dev/null +++ b/modules/hardware/bluetooth.nix @@ -0,0 +1,12 @@ +{ + hardware.bluetooth = { + enable = true; + powerOnBoot = false; + input.General.ClassicBondedOnly = false; + settings = { + General = { + Experimental = true; + }; + }; + }; +} diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix new file mode 100644 index 0000000..06df819 --- /dev/null +++ b/modules/hardware/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./nvidia.nix + ./bluetooth.nix + ]; + hardware.graphics.enable = true; +} diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix new file mode 100644 index 0000000..a103c7c --- /dev/null +++ b/modules/hardware/nvidia.nix @@ -0,0 +1,7 @@ +{ + hardware.nvidia = lib.mkIf (config.networking.hostName == "nerv") { + modesetting.enable = true; + open = true; + package = config.boot.kernelPackages.nvidiaPackages.new_feature; + }; +} diff --git a/modules/programs/default.nix b/modules/programs/default.nix new file mode 100644 index 0000000..fc26d3a --- /dev/null +++ b/modules/programs/default.nix @@ -0,0 +1,8 @@ +{ config, pkgs, ... }: { + programs.niri.enable = true; + programs.steam.enable = true; + imports = [ + ./zsh.nix + ./nixcord.nix + ]; +} diff --git a/modules/programs/nixcord.nix b/modules/programs/nixcord.nix new file mode 100644 index 0000000..a0e74e3 --- /dev/null +++ b/modules/programs/nixcord.nix @@ -0,0 +1,13 @@ +{ + programs.nixcord = { + enable = true; + user = "lucy"; + discord.enable = false; + vesktop.enable = true; + config.plugins = { + messageLogger.enable = true; + messageClickActions.enable = true; + }; + config.enabledThemes = [ "tinted.css" ]; + }; +} diff --git a/modules/programs/zsh.nix b/modules/programs/zsh.nix new file mode 100644 index 0000000..d47f941 --- /dev/null +++ b/modules/programs/zsh.nix @@ -0,0 +1,14 @@ +{ + programs.zsh = { + enable = true; + enableCompletion = true; + autosuggestions.enable = true; + syntaxHighlighting.enable = true; + ohMyZsh = { + enable = true; + theme = "gentoo"; + }; + shellInit = ''export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"''; + }; + system.userActivationScripts.zshrc = "touch .zshrc"; +} diff --git a/modules/services/default.nix b/modules/services/default.nix new file mode 100644 index 0000000..1349cd3 --- /dev/null +++ b/modules/services/default.nix @@ -0,0 +1,23 @@ +{ config, pkgs, ... }: { + imports = [ + ./tlp.nix + ./easyroam.nix + ./syncthing.nix + ./pipewire.nix + ]; + services = { + xserver.videoDrivers = lib.mkIf (hostname == "nerv") [ "nvidia" ]; + blueman.enable = true; + printing.enable = true; + emacs.enable = false; + xserver.xcb = { + layout = "eu"; + variant = ""; + }; + upower.enable = true; + displayManager.gdm.enable = true; + udisks2.enable = true; + gvfs.enable = true; + gnome.gnome-keyring.enable = true; + }; +} diff --git a/modules/services/easyroam.nix b/modules/services/easyroam.nix new file mode 100644 index 0000000..af1e2ac --- /dev/null +++ b/modules/services/easyroam.nix @@ -0,0 +1,11 @@ +{ + services.easyroam = { + enable = true; + pkcsFile = config.age.secrets.easyroam.path; + networkmanager.enable = true; + }; + systemd.services.wpa_supplicant = { + wants = [ "easyroam-cert-setup.service" ]; + after = [ "easyroam-cert-setup.service" ]; + }; +} diff --git a/modules/services/pipewire.nix b/modules/services/pipewire.nix new file mode 100644 index 0000000..24e9fb5 --- /dev/null +++ b/modules/services/pipewire.nix @@ -0,0 +1,8 @@ +{ + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; +} diff --git a/modules/services/syncthing.nix b/modules/services/syncthing.nix new file mode 100644 index 0000000..8cda626 --- /dev/null +++ b/modules/services/syncthing.nix @@ -0,0 +1,16 @@ +{ + services.syncthing = { + user = "lucy"; + dataDir = "/home/lucy/sync"; + configDir = "/home/lucy/.config/syncthing"; + enable = true; + openDefaultPorts = true; + settings = { + devices = { + "cyberia" = { + id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD"; + }; + }; + }; + }; +} diff --git a/modules/services/tlp.nix b/modules/services/tlp.nix new file mode 100644 index 0000000..b025c88 --- /dev/null +++ b/modules/services/tlp.nix @@ -0,0 +1,6 @@ +{ + services.tlp = { + enable = true; + pd.enable = true; + }; +}