From 5a062ed4329468249ac3be240aeb65080816f764 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Tue, 4 Feb 2025 19:13:28 +0100 Subject: stuff --- config/shared.nix | 101 --------------------------------------- configuration/hyprland.nix | 14 ++++++ configuration/nix-settings.nix | 10 ++++ configuration/packages.nix | 27 +++++++++++ configuration/services.nix | 47 ++++++++++++++++++ configuration/tarrel/default.nix | 10 ++++ configuration/work/default.nix | 20 +++++++- flake.nix | 24 ++++------ 8 files changed, 135 insertions(+), 118 deletions(-) delete mode 100644 config/shared.nix create mode 100644 configuration/hyprland.nix create mode 100644 configuration/nix-settings.nix create mode 100644 configuration/packages.nix create mode 100644 configuration/services.nix diff --git a/config/shared.nix b/config/shared.nix deleted file mode 100644 index df66951..0000000 --- a/config/shared.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ inputs, pkgs, ... }: -{ - environment.systemPackages = with pkgs; [ - kitty - - helix - alacritty - firefox - git - git-crypt - whatsapp-for-linux - obsidian - devenv - - busybox - usbutils - dig - file - gcc - jq - netcat - tcpdump - wget - iftop - htop - ]; - - 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="]; - }; - - nix.extraOptions = '' - trusted-users = root jras - ''; - - programs = { - steam.enable = true; - mtr.enable = true; - 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; - }; - gnupg.agent.enable = true; - gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3; - }; - - services = { - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - keyd = { - enable = true; - keyboards = { - default = { - ids = [ "*" ]; - settings.main.capslock = "overload(meta, esc)"; - }; - }; - }; - greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.hyprland}/bin/Hyprland"; - user = "jras"; - }; - }; - }; - gnome.gnome-keyring.enable = true; - openssh = { - enable = true; - openFirewall = false; - settings.AllowUsers = [ "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''; - }; - }; - - virtualisation.docker = { - enable = true; - enableOnBoot = true; - }; -} diff --git a/configuration/hyprland.nix b/configuration/hyprland.nix new file mode 100644 index 0000000..bf06cc3 --- /dev/null +++ b/configuration/hyprland.nix @@ -0,0 +1,14 @@ +{ inputs, pkgs, ... }: +{ + nix.settings = { + substituters = ["https://hyprland.cachix.org"]; + trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; + }; + + 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; + }; +} diff --git a/configuration/nix-settings.nix b/configuration/nix-settings.nix new file mode 100644 index 0000000..189422c --- /dev/null +++ b/configuration/nix-settings.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + }; + + nix.extraOptions = '' + trusted-users = root jras + ''; +} diff --git a/configuration/packages.nix b/configuration/packages.nix new file mode 100644 index 0000000..cf4baea --- /dev/null +++ b/configuration/packages.nix @@ -0,0 +1,27 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + kitty + + helix + alacritty + firefox + git + git-crypt + whatsapp-for-linux + obsidian + devenv + + busybox + usbutils + dig + file + gcc + jq + netcat + tcpdump + wget + iftop + htop + ]; +} diff --git a/configuration/services.nix b/configuration/services.nix new file mode 100644 index 0000000..9997d71 --- /dev/null +++ b/configuration/services.nix @@ -0,0 +1,47 @@ +{ pkgs, ... }: +{ + services = { + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + keyd = { + enable = true; + keyboards = { + default = { + ids = [ "*" ]; + settings.main.capslock = "overload(meta, esc)"; + }; + }; + }; + greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.hyprland}/bin/Hyprland"; + user = "jras"; + }; + }; + }; + gnome.gnome-keyring.enable = true; + openssh = { + enable = true; + openFirewall = false; + settings.AllowUsers = [ "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/configuration/tarrel/default.nix b/configuration/tarrel/default.nix index ca573fa..f92285b 100644 --- a/configuration/tarrel/default.nix +++ b/configuration/tarrel/default.nix @@ -2,8 +2,16 @@ { imports = [ ./hardware-configuration.nix + + ../packages.nix + ../services.nix + ../users + ../hyprland.nix + ../nix-settings.nix ]; + nixpkgs.config.allowUnfree = true; + boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -79,4 +87,6 @@ capSysAdmin = true; openFirewall = true; }; + + programs.steam.enable = true; } diff --git a/configuration/work/default.nix b/configuration/work/default.nix index ebb26f5..5bc9958 100644 --- a/configuration/work/default.nix +++ b/configuration/work/default.nix @@ -1,6 +1,14 @@ { config, pkgs, inputs, ... }: { - imports = [ ./hardware-configuration.nix ]; + imports = [ + ./hardware-configuration.nix + + ../packages.nix + ../services.nix + ../users + ../hyprland.nix + ../nix-settings.nix + ]; age.secrets.ghostnet-cert.file = ../../secrets/ghostnet-cert.age; age.secrets.ghostnet-key.file = ../../secrets/ghostnet-key.age; @@ -24,6 +32,13 @@ google-chrome ]; + nixpkgs.config.allowUnfree = true; + + virtualisation.docker = { + enable = true; + enableOnBoot = true; + }; + hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; @@ -148,5 +163,8 @@ home-manager.users.jras = import ../../home-manager/entrypoints/work.nix; home-manager.extraSpecialArgs = { inherit inputs; monitor-names = ["eDP-1" "HDMI-A-1" "DP-10"]; }; + programs.gnupg.agent.enable = true; + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3; + system.stateVersion = "24.05"; # Do NOT change before reading configuration.nix } diff --git a/flake.nix b/flake.nix index 53b78d7..f49d571 100644 --- a/flake.nix +++ b/flake.nix @@ -47,19 +47,15 @@ modules = [ update-systemd-resolved.nixosModules.update-systemd-resolved { - environment.systemPackages = [ agenix.packages."x86_64-linux".default ]; + environment.systemPackages = [ + agenix.packages."x86_64-linux".default + astal-bar.packages."x86_64-linux".default + ]; } home-manager.nixosModules.home-manager agenix.nixosModules.default ./configuration/work - ./config/shared.nix - - { - environment.systemPackages = [ - astal-bar.packages."x86_64-linux".default - ]; - } ]; }; @@ -68,19 +64,15 @@ specialArgs = { inherit inputs; }; modules = [ { - environment.systemPackages = [ agenix.packages."x86_64-linux".default ]; + environment.systemPackages = [ + agenix.packages."x86_64-linux".default + astal-bar.packages."x86_64-linux".default + ]; } home-manager.nixosModules.home-manager agenix.nixosModules.default ./configuration/tarrel - ./config/shared.nix - - { - environment.systemPackages = [ - astal-bar.packages."x86_64-linux".default - ]; - } ]; }; -- cgit v1.2.3