From da5572e47ddb8101836f58559e6bcce1b91f93b8 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 12:57:38 -0500 Subject: [PATCH 01/17] sam: Add initial post-install config --- sam/configuration.nix | 136 +++++++++++++++++++++++++++++++++ sam/hardware-configuration.nix | 39 ++++++++++ 2 files changed, 175 insertions(+) create mode 100644 sam/configuration.nix create mode 100644 sam/hardware-configuration.nix diff --git a/sam/configuration.nix b/sam/configuration.nix new file mode 100644 index 0000000..dd379c5 --- /dev/null +++ b/sam/configuration.nix @@ -0,0 +1,136 @@ +# 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.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Use latest kernel. + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = "nixos"; # 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 = "America/Chicago"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + + # Enable the X11 windowing system. + # You can disable this if you're only using the Wayland session. + services.xserver.enable = true; + + # Enable the KDE Plasma Desktop Environment. + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound with pipewire. + services.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.chandler = { + isNormalUser = true; + description = "Chandler Swift"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + kdePackages.kate + # thunderbird + ]; + }; + + # Enable automatic login for the user. + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "chandler"; + + # Install firefox. + programs.firefox.enable = 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 = "25.05"; # Did you read the comment? + +} diff --git a/sam/hardware-configuration.nix b/sam/hardware-configuration.nix new file mode 100644 index 0000000..eb44286 --- /dev/null +++ b/sam/hardware-configuration.nix @@ -0,0 +1,39 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" "usb_storage" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/9f5ccd27-a09e-41d0-88a5-142d5cfb89fe"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/0FF4-D39B"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/6c923fd7-5b0a-4dd5-b1ce-6cd4ea144275"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} From 38289d986c54f8f37a40964417586c66f8ae2f3b Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 12:59:28 -0500 Subject: [PATCH 02/17] sam: Move configuration.nix into homedir Copied from oscar's config. --- sam/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sam/configuration.nix b/sam/configuration.nix index dd379c5..4ea0848 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -10,6 +10,13 @@ ./hardware-configuration.nix ]; + # https://discourse.nixos.org/t/github-strategies-for-configuration-nix/1983/14 + nix.nixPath = [ + "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" + "nixos-config=/home/chandler/projects/machine-config/${config.networking.hostName}/configuration.nix" + "/nix/var/nix/profiles/per-user/root/channels" + ]; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; From b933f28c81cd51cc66b8b1af49bfaeae62f1fbf8 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 13:01:47 -0500 Subject: [PATCH 03/17] sam: Enable spice-vdagent and qemuGuest services This allows for e.g. dynamic screen resize. --- sam/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sam/configuration.nix b/sam/configuration.nix index 4ea0848..a6b04bd 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -17,6 +17,9 @@ "/nix/var/nix/profiles/per-user/root/channels" ]; + services.spice-vdagentd.enable = true; + services.qemuGuest.enable = true; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; From 1d76564f73146d1b138d8113e1e58ceda012f9f3 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:01:28 -0500 Subject: [PATCH 04/17] sam: Set hostname --- sam/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index a6b04bd..42fe35e 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -27,7 +27,7 @@ # Use latest kernel. boot.kernelPackages = pkgs.linuxPackages_latest; - networking.hostName = "nixos"; # Define your hostname. + networking.hostName = "sam"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary From 7ddfd59f6b4c0ea10063c8792ef33f83ffc4ddba Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:02:05 -0500 Subject: [PATCH 05/17] sam: Install git --- sam/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/sam/configuration.nix b/sam/configuration.nix index 42fe35e..6788db5 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -114,6 +114,7 @@ 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 + git ]; # Some programs need SUID wrappers, can be configured further or are From 02c4f6ec4eeaa3401869e4b86fa3c91dc48f0817 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:05:09 -0500 Subject: [PATCH 06/17] sam: Remove unhelpful commentary --- sam/configuration.nix | 42 ++---------------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index 6788db5..9a28061 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -1,12 +1,8 @@ -# 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.nix ]; @@ -28,11 +24,6 @@ boot.kernelPackages = pkgs.linuxPackages_latest; networking.hostName = "sam"; # 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; @@ -59,7 +50,6 @@ # You can disable this if you're only using the Wayland session. services.xserver.enable = true; - # Enable the KDE Plasma Desktop Environment. services.displayManager.sddm.enable = true; services.desktopManager.plasma6.enable = true; @@ -80,41 +70,24 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.chandler = { isNormalUser = true; description = "Chandler Swift"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ kdePackages.kate - # thunderbird ]; }; - # Enable automatic login for the user. services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.user = "chandler"; - # Install firefox. programs.firefox.enable = 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 - git + git ]; # Some programs need SUID wrappers, can be configured further or are @@ -125,17 +98,6 @@ # 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 From ef467fb842b3fe5f7fd526f5fa389fb104284799 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:07:34 -0500 Subject: [PATCH 07/17] sam: Disable X11 --- sam/configuration.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index 9a28061..d7dc9fd 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -46,19 +46,10 @@ LC_TIME = "en_US.UTF-8"; }; - # Enable the X11 windowing system. - # You can disable this if you're only using the Wayland session. - services.xserver.enable = true; - services.displayManager.sddm.enable = true; + services.displayManager.sddm.wayland.enable = true; services.desktopManager.plasma6.enable = true; - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - # Enable CUPS to print documents. services.printing.enable = true; From 76909b32025881f751c43e1ddaa98d4fad89ce5a Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:09:46 -0500 Subject: [PATCH 08/17] sam: Disable CUPS --- sam/configuration.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index d7dc9fd..54d77af 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -50,9 +50,6 @@ services.displayManager.sddm.wayland.enable = true; services.desktopManager.plasma6.enable = true; - # Enable CUPS to print documents. - services.printing.enable = true; - # Enable sound with pipewire. services.pulseaudio.enable = false; security.rtkit.enable = true; From bcc20c9c03bf70e002d76d1062e8c69b74e4394f Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:10:46 -0500 Subject: [PATCH 09/17] sam: Enable Docker --- sam/configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index 54d77af..a7f33a0 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -63,7 +63,7 @@ users.users.chandler = { isNormalUser = true; description = "Chandler Swift"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ "networkmanager" "wheel" "docker"]; packages = with pkgs; [ kdePackages.kate ]; @@ -74,6 +74,8 @@ programs.firefox.enable = true; + virtualisation.docker.enable = true; + environment.systemPackages = with pkgs; [ git ]; From b2f44b7d1712066a14031fca1ac077baf9bc57b9 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:21:26 -0500 Subject: [PATCH 10/17] oscar: Factor out git-pre-commit-hook for use on other machines --- oscar/git-pre-commit-hook => git-pre-commit-hook | 0 oscar/configuration.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename oscar/git-pre-commit-hook => git-pre-commit-hook (100%) diff --git a/oscar/git-pre-commit-hook b/git-pre-commit-hook similarity index 100% rename from oscar/git-pre-commit-hook rename to git-pre-commit-hook diff --git a/oscar/configuration.nix b/oscar/configuration.nix index 2834428..3caa3e9 100644 --- a/oscar/configuration.nix +++ b/oscar/configuration.nix @@ -277,7 +277,7 @@ ".direnv" ]; hooks = { - pre-commit = ./git-pre-commit-hook; + pre-commit = ../git-pre-commit-hook; }; signing.signByDefault = true; signing.key = null; # "let GnuPG decide what signing key to use depending on commit's author" From 41de43403a0a483049ec68bd1ba106e6ab164d06 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:01:49 -0500 Subject: [PATCH 11/17] sam: Add home-manager This also imports most of the home-manager config from oscar. --- sam/configuration.nix | 77 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 3 deletions(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index a7f33a0..356127c 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -4,6 +4,7 @@ imports = [ ./hardware-configuration.nix + (import "${builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz}/nixos") ]; # https://discourse.nixos.org/t/github-strategies-for-configuration-nix/1983/14 @@ -64,16 +65,86 @@ isNormalUser = true; description = "Chandler Swift"; extraGroups = [ "networkmanager" "wheel" "docker"]; - packages = with pkgs; [ + }; + home-manager.users.chandler = { pkgs, ... }: { + home.packages = with pkgs; [ kdePackages.kate ]; + + programs.bash = { + enable = true; + historyControl = [ "ignoredups" "ignorespace" ]; + }; + + programs.direnv = { + enable = true; + enableBashIntegration = true; + nix-direnv.enable = true; + }; + + programs.git = { + enable = true; + userEmail = "chandler@chandlerswift.com"; + userName = "Chandler Swift"; + lfs.enable = true; + # TODO: delta or diff-so-fancy or difftastic + extraConfig = { + init.defaultBranch = "main"; + pull.ff = "only"; + url."https://aur.archlinux.org/".insteadOf = "aur:"; + url."ssh://aur@aur.archlinux.org/".pushInsteadOf = "aur:"; + url."ssh://git@github.com/ChandlerSwift/".insteadOf = "gh:"; + url."ssh://forgejo@bert/chandlerswift/".insteadOf = "forgejo:"; + push.autoSetupRemote = true; + rebase.autosquash = true; + rebase.autostash = true; + fetch.parallel = 0; # "some reasonable default" + }; + ignores = [ + "*.kate-swp" + "*.swp" + "*~" + "\\#*\\#" + "venv" + ".direnv" + ]; + hooks = { + pre-commit = ../git-pre-commit-hook; + }; + signing.signByDefault = true; + signing.key = null; # "let GnuPG decide what signing key to use depending on commit's author" + }; + + programs.ssh = { + enable = true; + addKeysToAgent = "yes"; + includes = [ + "config.d/*" + ]; + }; + + programs.firefox.enable = true; + + programs.chromium = { + enable = true; + extensions = [ + { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin + ]; + }; + + programs.atuin = { + enable = true; + flags = [ + "--disable-up-arrow" + ]; + }; + + home.stateVersion = "25.05"; }; services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.user = "chandler"; - programs.firefox.enable = true; - virtualisation.docker.enable = true; environment.systemPackages = with pkgs; [ From 6959d0a591a158470b6219cbc1c09e173f287fed Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 9 Jul 2025 16:56:07 -0500 Subject: [PATCH 12/17] sam: Enable GnuPG agent --- sam/configuration.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index 356127c..66fa431 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -154,10 +154,10 @@ # 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; - # }; + programs.gnupg.agent = { + enable = true; + # enableSSHSupport = true; + }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions From 5105087d650f0e0708ed79bc3ea5f5808ca4c0bd Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Thu, 10 Jul 2025 14:23:23 -0500 Subject: [PATCH 13/17] sam: Disable sudo password requirement --- sam/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/sam/configuration.nix b/sam/configuration.nix index 66fa431..889ec17 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -61,6 +61,7 @@ pulse.enable = true; }; + security.sudo.wheelNeedsPassword = false; users.users.chandler = { isNormalUser = true; description = "Chandler Swift"; From 31f95124c9704d1e75c05f67e151c2d8b7505382 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Thu, 10 Jul 2025 14:24:48 -0500 Subject: [PATCH 14/17] sam: Conditionally configure git email --- sam/configuration.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index 889ec17..0d29512 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -85,7 +85,6 @@ programs.git = { enable = true; - userEmail = "chandler@chandlerswift.com"; userName = "Chandler Swift"; lfs.enable = true; # TODO: delta or diff-so-fancy or difftastic @@ -109,6 +108,16 @@ "venv" ".direnv" ]; + includes = [ + { + condition = "gitdir:/home/chandler/work/"; + contents.user.email = "chandler.swift@pearson.com"; + } + { + condition = "gitdir:/home/chandler/projects/"; + contents.user.email = "chandler+pearson@chandlerswift.com"; + } + ]; hooks = { pre-commit = ../git-pre-commit-hook; }; From c6b1107a783dfd75b593c1720a09a4c459d343ec Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Thu, 10 Jul 2025 14:32:17 -0500 Subject: [PATCH 15/17] sam: Use vue key for vue git repos --- sam/configuration.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sam/configuration.nix b/sam/configuration.nix index 0d29512..df70d83 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -117,6 +117,10 @@ condition = "gitdir:/home/chandler/projects/"; contents.user.email = "chandler+pearson@chandlerswift.com"; } + { + condition = "gitdir:/home/chandler/work/github-vue/"; + contents.core.sshCommand = "ssh -i ~/.ssh/github-vue"; + } ]; hooks = { pre-commit = ../git-pre-commit-hook; From a3ac063e282f555370356bf18fcde84bbe914bd0 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Thu, 10 Jul 2025 14:44:42 -0500 Subject: [PATCH 16/17] sam: Add additional opts from old gitconfig --- sam/configuration.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sam/configuration.nix b/sam/configuration.nix index df70d83..5ed5ae7 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -90,15 +90,16 @@ # TODO: delta or diff-so-fancy or difftastic extraConfig = { init.defaultBranch = "main"; + diff.wsErrorHighlight = "all"; pull.ff = "only"; - url."https://aur.archlinux.org/".insteadOf = "aur:"; - url."ssh://aur@aur.archlinux.org/".pushInsteadOf = "aur:"; url."ssh://git@github.com/ChandlerSwift/".insteadOf = "gh:"; url."ssh://forgejo@bert/chandlerswift/".insteadOf = "forgejo:"; push.autoSetupRemote = true; rebase.autosquash = true; rebase.autostash = true; fetch.parallel = 0; # "some reasonable default" + fetch.prune = true; + merge.conflictstyle = "diff3"; }; ignores = [ "*.kate-swp" From 5e7347ad26dc10b16509932007ccc2d182cac67d Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Fri, 11 Jul 2025 13:09:55 -0500 Subject: [PATCH 17/17] sam: Install github cli (gh) --- sam/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/sam/configuration.nix b/sam/configuration.nix index 5ed5ae7..cfdf69b 100644 --- a/sam/configuration.nix +++ b/sam/configuration.nix @@ -70,6 +70,7 @@ home-manager.users.chandler = { pkgs, ... }: { home.packages = with pkgs; [ kdePackages.kate + gh ]; programs.bash = {