From c88cfb92e38ae7abfd7abb699a108dd3cd537b20 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Thu, 14 Nov 2024 08:21:57 +0100 Subject: modules -> config etc --- config/shared.nix | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 12 +------- hosts/tarrel.nix | 6 ++++ hosts/work.nix | 61 ++------------------------------------ modules/compositor.nix | 41 -------------------------- modules/gaming.nix | 5 ---- modules/keyd.nix | 12 -------- modules/nix-settings.nix | 8 ----- modules/packages.nix | 11 ------- modules/services.nix | 9 ------ modules/sunshine.nix | 23 --------------- modules/virt.nix | 7 ----- 12 files changed, 86 insertions(+), 186 deletions(-) create mode 100644 config/shared.nix delete mode 100644 modules/compositor.nix delete mode 100644 modules/gaming.nix delete mode 100644 modules/keyd.nix delete mode 100644 modules/nix-settings.nix delete mode 100644 modules/packages.nix delete mode 100644 modules/services.nix delete mode 100644 modules/sunshine.nix delete mode 100644 modules/virt.nix diff --git a/config/shared.nix b/config/shared.nix new file mode 100644 index 0000000..b006572 --- /dev/null +++ b/config/shared.nix @@ -0,0 +1,77 @@ +{ inputs, pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + kitty + waybar + rofi-wayland-unwrapped + rofi-rbw-wayland + helix + alacritty + firefox + git + ]; + + nixpkgs.config.allowUnfree = true; + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + substituters = ["https://hyprland.cachix.org"]; + trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; + }; + + programs.steam.enable = true; + programs.mtr.enable = true; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + programs.hyprland = { + enable = true; + xwayland.enable = true; + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + + services.openssh.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + services.keyd = { + enable = true; + keyboards = { + default = { + ids = [ "*" ]; + settings.main.capslock = "overload(meta, esc)"; + }; + }; + }; + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.hyprland}/bin/hyprland"; + user = "jras"; + }; + }; + }; + services.gnome.gnome-keyring.enable = true; + + systemd.user.services.kanshi = { + description = "kanshi daemon"; + environment = { + WAYLAND_DISPLAY="wayland-1"; + DISPLAY=":0"; + }; + serviceConfig = { + Type = "simple"; + ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file''; + }; + }; + + virtualisation.docker = { + enable = true; + enableOnBoot = true; + }; +} diff --git a/flake.nix b/flake.nix index 9ff6906..261ce88 100644 --- a/flake.nix +++ b/flake.nix @@ -16,13 +16,7 @@ channelsConfig.allowUnfree = true; - hostDefaults.modules = [ - ./modules/compositor.nix - ./modules/keyd.nix - ./modules/services.nix - ./modules/packages.nix - ./modules/nix-settings.nix - ]; + hostDefaults.modules = [ ./config/shared.nix ]; hosts.work.modules = [ home-manager.nixosModules.home-manager @@ -35,7 +29,6 @@ } ./hosts/work.nix - ./modules/gaming.nix ]; hosts.tarrel.modules = [ @@ -49,9 +42,6 @@ } ./hosts/tarrel.nix - ./modules/gaming.nix - ./modules/virt.nix - ./modules/sunshine.nix ]; }; } diff --git a/hosts/tarrel.nix b/hosts/tarrel.nix index 66279be..8247d12 100644 --- a/hosts/tarrel.nix +++ b/hosts/tarrel.nix @@ -79,6 +79,12 @@ enable = true; unifiPackage = pkgs.unifi8; }; + services.sunshine = { + enable = true; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + }; # from: https://help.ui.com/hc/en-us/articles/218506997-Required-Ports-Reference # best put it in a var somewhere diff --git a/hosts/work.nix b/hosts/work.nix index db55f87..57e411c 100644 --- a/hosts/work.nix +++ b/hosts/work.nix @@ -1,38 +1,19 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - { config, pkgs, ... }: - { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration/work.nix - ]; + imports = [ ./hardware-configuration/work.nix ]; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; - # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "work"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking networking.networkmanager.enable = true; - # Set your time zone. time.timeZone = "Europe/Amsterdam"; - # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { LC_ADDRESS = "nl_NL.UTF-8"; LC_IDENTIFICATION = "nl_NL.UTF-8"; @@ -45,13 +26,11 @@ LC_TIME = "nl_NL.UTF-8"; }; - # Configure keymap in X11 services.xserver.xkb = { layout = "us"; variant = ""; }; - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.jras = { isNormalUser = true; description = "Jasper Ras"; @@ -59,41 +38,5 @@ packages = with pkgs; [ git helix ]; }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.05"; # Did you read the comment? - + system.stateVersion = "24.05"; # Do NOT change before reading configuration.nix } diff --git a/modules/compositor.nix b/modules/compositor.nix deleted file mode 100644 index 8226842..0000000 --- a/modules/compositor.nix +++ /dev/null @@ -1,41 +0,0 @@ -# https://wiki.nixos.org/wiki/Sway -{ inputs, pkgs, ... }: -{ - programs.hyprland = { - enable = true; - xwayland.enable = true; - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - }; - - environment.systemPackages = with pkgs; [ - kitty # Required by Hyprland - waybar - rofi-wayland-unwrapped - rofi-rbw-wayland - ]; - - services.gnome.gnome-keyring.enable = true; - - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.hyprland}/bin/hyprland"; - user = "jras"; - }; - }; - }; - - systemd.user.services.kanshi = { - description = "kanshi daemon"; - environment = { - WAYLAND_DISPLAY="wayland-1"; - DISPLAY=":0"; - }; - serviceConfig = { - Type = "simple"; - ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file''; - }; - }; -} diff --git a/modules/gaming.nix b/modules/gaming.nix deleted file mode 100644 index 781e12e..0000000 --- a/modules/gaming.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.steam.enable = true; -} diff --git a/modules/keyd.nix b/modules/keyd.nix deleted file mode 100644 index 6b4e79d..0000000 --- a/modules/keyd.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ ... }: -{ - services.keyd = { - enable = true; - keyboards = { - default = { - ids = [ "*" ]; - settings.main.capslock = "overload(meta, esc)"; - }; - }; - }; -} diff --git a/modules/nix-settings.nix b/modules/nix-settings.nix deleted file mode 100644 index 8db69ad..0000000 --- a/modules/nix-settings.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: -{ - nix.settings = { - experimental-features = [ "nix-command" "flakes" ]; - substituters = ["https://hyprland.cachix.org"]; - trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; - }; -} diff --git a/modules/packages.nix b/modules/packages.nix deleted file mode 100644 index d557a94..0000000 --- a/modules/packages.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: -{ - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - helix - alacritty - firefox - git - ]; -} diff --git a/modules/services.nix b/modules/services.nix deleted file mode 100644 index ad4bfc5..0000000 --- a/modules/services.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ ... }: -{ - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; -} diff --git a/modules/sunshine.nix b/modules/sunshine.nix deleted file mode 100644 index 86e68f4..0000000 --- a/modules/sunshine.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ ... }: -{ - services.sunshine = { - enable = true; - autoStart = true; - capSysAdmin = true; - openFirewall = true; - # applications = { - # apps = [ - # { - # name = "Auto Desktop"; - # prep-cmd = [ - # { - # # do = "${pkgs.sway}/bin/swaymsg \"output DP-2 mode --custom \${SUNSHINE_CLIENT_WIDTH}x\${SUNSHINE_CLIENT_HEIGHT}@\${SUNSHINE_CLIENT_FPS}Hz\""; - # do = "${pkgs.zsh}/bin/zsh -c \"${pkgs.sway}/bin/swaymsg \"output DP-2 mode --custom 1920x1080@60Hz\"\""; - # undo = "${pkgs.sway}/bin/swaymsg \"output DP-2 mode 3440x1440\""; - # } - # ]; - # } - # ]; - # }; - }; -} diff --git a/modules/virt.nix b/modules/virt.nix deleted file mode 100644 index e378c80..0000000 --- a/modules/virt.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ ... }: -{ - virtualisation.docker = { - enable = true; - enableOnBoot = true; - }; -} -- cgit v1.2.3