home: migrate git config to settings format and add new packages

This commit is contained in:
Joakim Repomaa
2026-02-09 15:11:13 +02:00
parent ac61399a18
commit 8823354606
3 changed files with 55 additions and 28 deletions

View File

@@ -44,7 +44,7 @@
gnumeric gnumeric
gh gh
neovim-remote neovim-remote
flameshot pkgs-unstable.gradia
crystal crystal
shards shards
moreutils moreutils
@@ -78,6 +78,7 @@
pkgs-unstable.feishin pkgs-unstable.feishin
openscad openscad
pkgs-unstable.walker pkgs-unstable.walker
pkgs-unstable.shairport-sync-airplay2
(writeShellScriptBin "pw" '' (writeShellScriptBin "pw" ''
${lib.getExe rbw} ls --fields 'id,folder,name' | \ ${lib.getExe rbw} ls --fields 'id,folder,name' | \
${lib.getExe gawk} -F '\t' '{print $1 "\t" ($2 == "" ? "" : $2 "/") $3}' | \ ${lib.getExe gawk} -F '\t' '{print $1 "\t" ($2 == "" ? "" : $2 "/") $3}' | \
@@ -89,6 +90,8 @@
(writeShellScriptBin "nr" '' (writeShellScriptBin "nr" ''
${lib.getExe nix} run "nixpkgs#''${1}" "$@" ${lib.getExe nix} run "nixpkgs#''${1}" "$@"
'') '')
pkgs-unstable.tidal-hifi
inputs.tonearm.packages.${pkgs.stdenv.hostPlatform.system}.tonearm
]; ];
programs = { programs = {
@@ -167,12 +170,12 @@
vivaldi.enable = true; vivaldi.enable = true;
git = { git = {
enable = true; enable = true;
aliases = { settings = {
alias = {
st = "status"; st = "status";
co = "checkout"; co = "checkout";
b = "branch"; b = "branch";
}; };
extraConfig = {
pull = { pull = {
rebase = "true"; rebase = "true";
}; };
@@ -271,13 +274,19 @@
obs-studio.enable = true; obs-studio.enable = true;
ssh = { ssh = {
enable = true; enable = true;
controlMaster = "auto"; enableDefaultConfig = false;
controlPersist = "1h";
matchBlocks = { matchBlocks = {
"*" = { "*" = {
extraOptions = { controlMaster = "auto";
ControlPath = "${config.home.homeDirectory}/.ssh/masters-control/%r@%h:%p"; 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 = { setEnv = {
TERM = "screen-256color"; TERM = "screen-256color";
}; };
@@ -397,8 +406,8 @@
custom = [ custom = [
{ {
binding = "Print"; binding = "Print";
command = "flameshot gui"; command = "gradia --screenshot";
name = "Flameshot"; name = "Gradia";
} }
{ {
binding = "<Alt>Print"; binding = "<Alt>Print";
@@ -557,6 +566,23 @@
pinentry.package = pinentry-gnome3; 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 = { programs.gpg.scdaemonSettings = {
disable-ccid = true; disable-ccid = true;
}; };
@@ -564,17 +590,12 @@
programs.rbw.enable = true; programs.rbw.enable = true;
programs.rclone.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 { xdg.configFile."opencode/opencode.jsonc".text = builtins.toJSON {
"$schema" = "https://opencode.ai/config.json"; "$schema" = "https://opencode.ai/config.json";
model = "opencode/claude-sonnet-4-5"; model = "opencode/kimi-k2.5";
small_model = "opencode/claude-haiku-4-5"; small_model = "opencode/minimax-m2.1";
agent = { agent = {
plan.model = "opencode/claude-haiku-4-5"; explore.model = "opencode/minimax-m2.1";
}; };
mcp = { mcp = {
memory = { memory = {

View File

@@ -1,4 +1,9 @@
{ pkgs, inputs, ... }: {
pkgs,
pkgs-unstable,
inputs,
...
}:
{ {
config = { config = {
# Home Manager needs a bit of information about you and the paths it should # Home Manager needs a bit of information about you and the paths it should
@@ -18,7 +23,7 @@
inkscape inkscape
wineWowPackages.waylandFull wineWowPackages.waylandFull
reaper reaper
inputs.ksoloti-pr.legacyPackages.${pkgs.system}.ksoloti inputs.ksoloti-pr.legacyPackages.${pkgs.stdenv.hostPlatform.system}.ksoloti
calibre calibre
jellyfin-media-player jellyfin-media-player
darktable darktable
@@ -45,7 +50,7 @@
}; };
}; };
programs.git.extraConfig.user.email = "joakim@repomaa.com"; programs.git.settings.user.email = "joakim@repomaa.com";
services.syncthing = { services.syncthing = {
enable = true; enable = true;
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, pkgs-unstable, ... }:
let let
homeDirectory = "/home/moco"; homeDirectory = "/home/moco";
in in
@@ -21,11 +21,12 @@ in
--add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer" --add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer"
''; '';
})) }))
pkgs-unstable.chromedriver
kooha kooha
gnome-pomodoro gnome-pomodoro
mitmproxy mitmproxy
(writeShellScriptBin "moco-admin-pw" '' (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') otp=$(ykman oath accounts code -s 'MOCO:Admin')
echo "''${password}''${otp}" | wl-copy -n 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 = programs.ssh.matchBlocks =
let let