From 6a795ac02967cf497fb36f1ad73432a104868b41 Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Sun, 26 Jan 2025 13:10:08 +0100 Subject: [PATCH] Set-up marabethia as a development machine --- machines/marabethia/default.nix | 1 + modules/nixos/development/android/default.nix | 2 +- modules/nixos/development/default.nix | 8 +-- modules/nixos/development/git/default.nix | 6 -- modules/nixos/graphical/xdg/default.nix | 1 - modules/shared/development/git/default.nix | 72 ++++++++++++------- 6 files changed, 54 insertions(+), 36 deletions(-) delete mode 100644 modules/nixos/development/git/default.nix diff --git a/machines/marabethia/default.nix b/machines/marabethia/default.nix index f3651474..db92865e 100644 --- a/machines/marabethia/default.nix +++ b/machines/marabethia/default.nix @@ -82,6 +82,7 @@ rootPool = "zroot"; }; }; + development.enable = true; games = { particles.server = true; tetris.server = true; diff --git a/modules/nixos/development/android/default.nix b/modules/nixos/development/android/default.nix index 20aa360b..53fe4047 100644 --- a/modules/nixos/development/android/default.nix +++ b/modules/nixos/development/android/default.nix @@ -22,6 +22,6 @@ zfs.homeLinks = [{ path = ".android"; type = "cache"; }]; }; programs.adb.enable = true; - users.users.charlotte.extraGroups = [ "adbusers" ]; + users.users.charlotte.extraGroups = [ "adbusers" "dialout" "uucp" ]; }; } diff --git a/modules/nixos/development/default.nix b/modules/nixos/development/default.nix index 2a6a4ae2..263b6af7 100644 --- a/modules/nixos/development/default.nix +++ b/modules/nixos/development/default.nix @@ -4,13 +4,13 @@ imports = [ ./android ./docker - ./git ]; config = lib.mkIf config.chvp.development.enable { - chvp.development.docker.enable = lib.mkDefault true; - - users.users.charlotte.extraGroups = [ "dialout" "uucp" ]; + chvp = { + base.zfs.homeLinks = [{ path = "repos"; type = "cache"; }]; + development.docker.enable = lib.mkDefault true; + }; boot.kernel.sysctl."fs.inotify.max_user_watches" = 524288; }; diff --git a/modules/nixos/development/git/default.nix b/modules/nixos/development/git/default.nix deleted file mode 100644 index 68f6e7ec..00000000 --- a/modules/nixos/development/git/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - home-manager.users.charlotte.programs.git = lib.mkIf config.chvp.development.git.enable { - }; -} diff --git a/modules/nixos/graphical/xdg/default.nix b/modules/nixos/graphical/xdg/default.nix index cc62eae6..88d46510 100644 --- a/modules/nixos/graphical/xdg/default.nix +++ b/modules/nixos/graphical/xdg/default.nix @@ -13,7 +13,6 @@ { path = "downloads"; type = "cache"; } { path = "music"; type = "data"; } { path = "pictures"; type = "cache"; } - { path = "repos"; type = "cache"; } { path = "templates"; type = "data"; } { path = "videos"; type = "data"; } ]; diff --git a/modules/shared/development/git/default.nix b/modules/shared/development/git/default.nix index d91cba2f..7d5eee98 100644 --- a/modules/shared/development/git/default.nix +++ b/modules/shared/development/git/default.nix @@ -65,31 +65,55 @@ in '' ]; home-manager.users.${username} = { - programs.git = { - enable = true; - lfs.enable = true; - extraConfig = { - branch.autosetuprebase = "always"; - commit.gpgSign = true; - github.user = "chvp"; - gpg.format = "ssh"; - merge.conflictStyle = "diff3"; - pull.rebase = true; - rebase.autoStash = true; - rerere.enabled = true; - tag.gpgSign = true; - user.signingKey = sshKeyFile; + programs = { + gh = { + enable = true; + extensions = [ + (pkgs.buildGoModule { + pname = "gh-skyline"; + version = "0.1.2"; + src = pkgs.fetchFromGitHub { + owner = "github"; + repo = "gh-skyline"; + tag = "v0.1.2"; + hash = "sha256-fe2mM46DM7LhbZP2QhcwkXUWp8o4iY/LLgALJ+H60P0="; + }; + vendorHash = "sha256-rfv9KTTWs68pqSdgWo9dIn+PTe+77ZMOEhG0P37QwKo="; + + ldflags = [ + "-s" + "-w" + "-X main.Version=0.1.2" + ]; + }) + ]; + }; + git = { + enable = true; + lfs.enable = true; + extraConfig = { + branch.autosetuprebase = "always"; + commit.gpgSign = true; + github.user = "chvp"; + gpg.format = "ssh"; + merge.conflictStyle = "diff3"; + pull.rebase = true; + rebase.autoStash = true; + rerere.enabled = true; + tag.gpgSign = true; + user.signingKey = sshKeyFile; + }; + ignores = [ + ".DS_Store" + ".data" + ".direnv" + ".envrc" + ".idea" + ".dir-locals.el" + ]; + userEmail = config.chvp.development.git.email; + userName = "Charlotte Van Petegem"; }; - ignores = [ - ".DS_Store" - ".data" - ".direnv" - ".envrc" - ".idea" - ".dir-locals.el" - ]; - userEmail = config.chvp.development.git.email; - userName = "Charlotte Van Petegem"; }; }; };