From 8823354606c87effcb305f7fbf7a828b6df36340 Mon Sep 17 00:00:00 2001 From: Joakim Repomaa Date: Mon, 9 Feb 2026 15:11:13 +0200 Subject: [PATCH] home: migrate git config to settings format and add new packages --- home/common/default.nix | 65 +++++++++++++++++++++++++++-------------- home/jokke/default.nix | 11 +++++-- home/moco/default.nix | 7 +++-- 3 files changed, 55 insertions(+), 28 deletions(-) diff --git a/home/common/default.nix b/home/common/default.nix index 5653b3e..979ebe2 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -44,7 +44,7 @@ gnumeric gh neovim-remote - flameshot + pkgs-unstable.gradia crystal shards moreutils @@ -78,6 +78,7 @@ pkgs-unstable.feishin openscad pkgs-unstable.walker + pkgs-unstable.shairport-sync-airplay2 (writeShellScriptBin "pw" '' ${lib.getExe rbw} ls --fields 'id,folder,name' | \ ${lib.getExe gawk} -F '\t' '{print $1 "\t" ($2 == "" ? "" : $2 "/") $3}' | \ @@ -89,6 +90,8 @@ (writeShellScriptBin "nr" '' ${lib.getExe nix} run "nixpkgs#''${1}" "$@" '') + pkgs-unstable.tidal-hifi + inputs.tonearm.packages.${pkgs.stdenv.hostPlatform.system}.tonearm ]; programs = { @@ -167,12 +170,12 @@ vivaldi.enable = true; git = { enable = true; - aliases = { - st = "status"; - co = "checkout"; - b = "branch"; - }; - extraConfig = { + settings = { + alias = { + st = "status"; + co = "checkout"; + b = "branch"; + }; pull = { rebase = "true"; }; @@ -271,13 +274,19 @@ obs-studio.enable = true; ssh = { enable = true; - controlMaster = "auto"; - controlPersist = "1h"; + enableDefaultConfig = false; matchBlocks = { "*" = { - extraOptions = { - ControlPath = "${config.home.homeDirectory}/.ssh/masters-control/%r@%h:%p"; - }; + controlMaster = "auto"; + controlPath = "${config.home.homeDirectory}/.ssh/masters-control/%r@%h:%p"; + controlPersist = "1h"; + forwardAgent = false; + addKeysToAgent = "no"; + compression = false; + serverAliveInterval = 0; + serverAliveCountMax = 3; + hashKnownHosts = false; + userKnownHostsFile = "${config.home.homeDirectory}/.ssh/known_hosts"; setEnv = { TERM = "screen-256color"; }; @@ -397,8 +406,8 @@ custom = [ { binding = "Print"; - command = "flameshot gui"; - name = "Flameshot"; + command = "gradia --screenshot"; + name = "Gradia"; } { binding = "Print"; @@ -557,6 +566,23 @@ pinentry.package = pinentry-gnome3; }; + systemd.user.services.shairport-sync = { + Unit = { + Description = "AirPlay audio server"; + After = [ + "pipewire-pulse.service" + "network.target" + ]; + }; + Service = { + ExecStart = "${lib.getExe pkgs-unstable.shairport-sync-airplay2} -- pw"; + Restart = "on-failure"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + programs.gpg.scdaemonSettings = { disable-ccid = true; }; @@ -564,17 +590,12 @@ programs.rbw.enable = true; programs.rclone.enable = true; - xdg.configFile."autostart/gnome-keyring-ssh.desktop".text = lib.strings.concatLines [ - (builtins.readFile "${pkgs.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop") - "X-GNOME-Autostart-enabled=false" - ]; - xdg.configFile."opencode/opencode.jsonc".text = builtins.toJSON { "$schema" = "https://opencode.ai/config.json"; - model = "opencode/claude-sonnet-4-5"; - small_model = "opencode/claude-haiku-4-5"; + model = "opencode/kimi-k2.5"; + small_model = "opencode/minimax-m2.1"; agent = { - plan.model = "opencode/claude-haiku-4-5"; + explore.model = "opencode/minimax-m2.1"; }; mcp = { memory = { diff --git a/home/jokke/default.nix b/home/jokke/default.nix index 9fd4d97..88769a5 100644 --- a/home/jokke/default.nix +++ b/home/jokke/default.nix @@ -1,4 +1,9 @@ -{ pkgs, inputs, ... }: +{ + pkgs, + pkgs-unstable, + inputs, + ... +}: { config = { # Home Manager needs a bit of information about you and the paths it should @@ -18,7 +23,7 @@ inkscape wineWowPackages.waylandFull reaper - inputs.ksoloti-pr.legacyPackages.${pkgs.system}.ksoloti + inputs.ksoloti-pr.legacyPackages.${pkgs.stdenv.hostPlatform.system}.ksoloti calibre jellyfin-media-player darktable @@ -45,7 +50,7 @@ }; }; - programs.git.extraConfig.user.email = "joakim@repomaa.com"; + programs.git.settings.user.email = "joakim@repomaa.com"; services.syncthing = { enable = true; }; diff --git a/home/moco/default.nix b/home/moco/default.nix index 353577b..c97b15f 100644 --- a/home/moco/default.nix +++ b/home/moco/default.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, pkgs-unstable, ... }: let homeDirectory = "/home/moco"; in @@ -21,11 +21,12 @@ in --add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer" ''; })) + pkgs-unstable.chromedriver kooha gnome-pomodoro mitmproxy (writeShellScriptBin "moco-admin-pw" '' - password=$(op item get fkj74ou6jfex7a6gcinac6o5oe --reveal --fields label=Kennwort) + password=$(op item get n5h4c237tqnnlr5gruxyqmmggy --reveal --fields label=Kennwort) otp=$(ykman oath accounts code -s 'MOCO:Admin') echo "''${password}''${otp}" | wl-copy -n '') @@ -69,7 +70,7 @@ in }; }; - programs.git.extraConfig.user.email = "joakim.repomaa@mocoapp.com"; + programs.git.settings.user.email = "joakim.repomaa@mocoapp.com"; programs.ssh.matchBlocks = let