From 1b67f19e18692be3ae3aaaef3a0bdf7302bda7a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyryl=20P=C5=82otnicki?= Date: Fri, 28 Jun 2024 19:23:39 +0100 Subject: [PATCH] add airy --- flake.nix | 11 +++++++--- nixos/boxes/airy/default.nix | 38 +++++++++++++++++++++++++++++++++ nixos/boxes/cupsnet/backups.nix | 22 ++++++++++--------- nixos/boxes/cupsnet/forgejo.nix | 21 +++++++++++------- nixos/common-services.nix | 10 ++++++--- nixos/gnome/home.nix | 17 +++++++++------ nixos/home-manager/cli.nix | 12 +++++++---- nixos/home-manager/linux.nix | 2 ++ nixos/kde/home.nix | 12 ++++++----- 9 files changed, 106 insertions(+), 39 deletions(-) create mode 100644 nixos/boxes/airy/default.nix diff --git a/flake.nix b/flake.nix index ad9c6f63..7db29a38 100644 --- a/flake.nix +++ b/flake.nix @@ -137,17 +137,22 @@ "x86_64-linux".default = mkShell nixpkgs-stable "x86_64-linux"; "aarch64-linux".default = mkShell nixpkgs-stable "aarch64-linux"; }; + + # Expose the package set, including overlays, for convenience. + darwinPackages = self.darwinConfigurations."airy".pkgs; darwinConfigurations = { - "FORM3-CYRYLPLOTN" = darwin.lib.darwinSystem rec { - system = "x86_64-darwin"; + "airy" = darwin.lib.darwinSystem rec { + system = "aarch64-darwin"; modules = [ - (./. + "/nixos/boxes/form3") + (./. + "/nixos/boxes/airy") + {users.users.cyryl.home = "/Users/cyryl";} home-manager.darwinModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.cyryl = { + home.homeDirectory = "/Users/cyryl"; imports = [./nixos/home-manager]; _module.args.inputs = inputs; _module.args.system = system; diff --git a/nixos/boxes/airy/default.nix b/nixos/boxes/airy/default.nix new file mode 100644 index 00000000..5688aecf --- /dev/null +++ b/nixos/boxes/airy/default.nix @@ -0,0 +1,38 @@ +{ + config, + pkgs, + inputs, + lib, + nixpkgs-nixos-unstable-and-unfree, + ... +}: { + environment.systemPackages = with pkgs; [vim nixfmt]; + + imports = [ + ../../git + + ../../helix + ../../mercurial + ../../vim + ../../zsh + ]; + services.nix-daemon.enable = true; + + nix.settings.experimental-features = "nix-command flakes"; + + programs.zsh.enable = true; # default shell on catalina + + system.stateVersion = 4; + + # The platform the configuration will be used on. + nixpkgs.hostPlatform = "aarch64-darwin"; + + homebrew.enable = true; + + home-manager.users.cyryl = {...}: { + imports = []; + home.packages = with pkgs; [awscli kubectl cargo-update]; + programs = { + }; + }; +} diff --git a/nixos/boxes/cupsnet/backups.nix b/nixos/boxes/cupsnet/backups.nix index 66184796..6d4c6119 100644 --- a/nixos/boxes/cupsnet/backups.nix +++ b/nixos/boxes/cupsnet/backups.nix @@ -1,9 +1,12 @@ -{ config, pkgs, ... }: -let +{ + config, + pkgs, + ... +}: let genericBackupPath = "/var/lib/backups/"; nixosContainersBackupPath = "/var/lib/nixos-containers/"; in rec { - environment.systemPackages = with pkgs; [ restic ]; + environment.systemPackages = with pkgs; [restic]; sops.secrets."restic-backups-b2-repo-password" = { sopsFile = ./restic.sops.yaml; @@ -29,7 +32,7 @@ in rec { systemctl stop container@foundryvtt.service systemctl stop cryptpad.service systemctl stop forgejo.service - systemctl stop mastodon* + systemctl stop mastodon* systemctl stop postgresql.service ''; backupCleanupCommand = '' @@ -37,12 +40,11 @@ in rec { systemctl start forgejo.service systemctl start cryptpad.service systemctl start container@foundryvtt.service - systemctl start --all mastodon* + systemctl start --all mastodon* ''; - timerConfig = { OnCalendar = "daily"; }; - environmentFile = - "${config.sops.secrets.restic-backups-b2-environment.path}"; - exclude = [ "cache" ]; + timerConfig = {OnCalendar = "daily";}; + environmentFile = "${config.sops.secrets.restic-backups-b2-environment.path}"; + exclude = ["cache"]; pruneOpts = [ "--keep-hourly 25" "--keep-daily 8" @@ -50,7 +52,7 @@ in rec { "--keep-monthly 13" "--keep-yearly 2" ]; - checkOpts = [ "--with-cache" ]; + checkOpts = ["--with-cache"]; }; }; diff --git a/nixos/boxes/cupsnet/forgejo.nix b/nixos/boxes/cupsnet/forgejo.nix index 9275a189..f1b66ccd 100644 --- a/nixos/boxes/cupsnet/forgejo.nix +++ b/nixos/boxes/cupsnet/forgejo.nix @@ -1,5 +1,11 @@ -{ config, pkgs, inputs, lib, system, ... }: -let +{ + config, + pkgs, + inputs, + lib, + system, + ... +}: let unstable = inputs.nixpkgs-nixos-unstable; package = unstable.legacyPackages."${system}".forgejo; httpPort = 8083; @@ -22,20 +28,19 @@ let }; groups."${systemGroupName}" = { inherit gid; - members = [ "${systemUserName}" "nginx" ]; + members = ["${systemUserName}" "nginx"]; }; }; in { - imports = - [ ../nginx.nix "${unstable}/nixos/modules/services/misc/forgejo.nix" ]; - disabledModules = [ "services/misc/forgejo.nix" ]; + imports = [../nginx.nix "${unstable}/nixos/modules/services/misc/forgejo.nix"]; + disabledModules = ["services/misc/forgejo.nix"]; inherit users; - boot.kernel.sysctl = { "net.ipv4.ip_unprivileged_port_start" = 0; }; + boot.kernel.sysctl = {"net.ipv4.ip_unprivileged_port_start" = 0;}; systemd.services.systemd-sysctl.enable = lib.mkForce true; - networking.firewall.allowedTCPPorts = [ sshPort ]; + networking.firewall.allowedTCPPorts = [sshPort]; services.nginx = { virtualHosts = { "${domain}" = { diff --git a/nixos/common-services.nix b/nixos/common-services.nix index cb35ce77..54e70215 100644 --- a/nixos/common-services.nix +++ b/nixos/common-services.nix @@ -1,8 +1,12 @@ -{ config, pkgs, ... }: { +{ + config, + pkgs, + ... +}: { console.keyMap = "pl2"; - imports = [ ./tailscale ]; + imports = [./tailscale]; services = { - udev.packages = [ pkgs.android-udev-rules ]; + udev.packages = [pkgs.android-udev-rules]; ratbagd.enable = true; gvfs.enable = true; diff --git a/nixos/gnome/home.nix b/nixos/gnome/home.nix index 2cc12ac0..42abb8be 100644 --- a/nixos/gnome/home.nix +++ b/nixos/gnome/home.nix @@ -1,10 +1,15 @@ -{ config, pkgs, ... }: { - services = { }; +{ + config, + pkgs, + ... +}: { + services = {}; - xsession = { enable = false; }; + xsession = {enable = false;}; - home.sessionVariables = { QT_QPA_PLATFORM = "wayland"; }; - home.packages = (with pkgs; [ gnome-usage gnome3.gnome-tweaks ]) + home.sessionVariables = {QT_QPA_PLATFORM = "wayland";}; + home.packages = + (with pkgs; [gnome-usage gnome3.gnome-tweaks]) ++ (with pkgs.gnomeExtensions; [ caffeine clipboard-indicator @@ -14,7 +19,7 @@ dconf.settings = { "org/gnome/mutter" = { # https://github.com/NixOS/nixpkgs/issues/114514#issuecomment-1177709271 - experimental-features = [ "scale-monitor-framebuffer" ]; + experimental-features = ["scale-monitor-framebuffer"]; }; "org/gnome/shell" = { disable-user-extensions = false; diff --git a/nixos/home-manager/cli.nix b/nixos/home-manager/cli.nix index 500bd0bc..9561b9af 100644 --- a/nixos/home-manager/cli.nix +++ b/nixos/home-manager/cli.nix @@ -1,4 +1,10 @@ -{ config, pkgs, inputs, system, ... }: { +{ + config, + pkgs, + inputs, + system, + ... +}: { home.packages = with pkgs; [ (pass.withExtensions (ext: [ ext.pass-otp @@ -16,7 +22,6 @@ bottom curl dive - dmidecode dnsutils docker-compose du-dust @@ -53,7 +58,6 @@ unzip wget wl-clipboard - xdotool - inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".yt-dlp + inputs.nixpkgs-nixos-unstable.legacyPackages."${system}".yt-dlp ]; } diff --git a/nixos/home-manager/linux.nix b/nixos/home-manager/linux.nix index 8ab51e56..0e6cfbd6 100644 --- a/nixos/home-manager/linux.nix +++ b/nixos/home-manager/linux.nix @@ -12,6 +12,7 @@ atop btop btrfs-progs + dmidecode glibcLocales hsetroot lm_sensors @@ -24,5 +25,6 @@ topgrade wirelesstools woeusb + xdotool ]; } diff --git a/nixos/kde/home.nix b/nixos/kde/home.nix index 1d753235..43cce4aa 100644 --- a/nixos/kde/home.nix +++ b/nixos/kde/home.nix @@ -1,11 +1,13 @@ -{ config, pkgs, ... }: { +{ + config, + pkgs, + ... +}: { services = { - kdeconnect.enable = true; kdeconnect.indicator = true; - }; - home.packages = [ ]; - dconf.settings = { }; + home.packages = []; + dconf.settings = {}; }