NixOS and Home Manager config

Compare changes

Choose any two refs to compare.

Changed files
+144 -33
modules
+1
modules/nixos/system/default.nix
···
./bluetooth.nix
./boot
./lannas.nix
+
./locale.nix
./printing.nix
];
}
+17
modules/nixos/system/locale.nix
···
+
{
+
time.timeZone = "Europe/Copenhagen";
+
i18n = {
+
defaultLocale = "en_GB.UTF-8"; # Use British english as the language
+
extraLocaleSettings = { # But Danish for datetime formatting, measurements, etc. Basically everything else
+
LC_ADDRESS = "da_DK.UTF-8";
+
LC_IDENTIFICATION = "da_DK.UTF-8";
+
LC_MEASUREMENT = "da_DK.UTF-8";
+
LC_MONETARY = "da_DK.UTF-8";
+
LC_NAME = "da_DK.UTF-8";
+
LC_NUMERIC = "da_DK.UTF-8";
+
LC_PAPER = "da_DK.UTF-8";
+
LC_TELEPHONE = "da_DK.UTF-8";
+
LC_TIME = "da_DK.UTF-8";
+
};
+
};
+
}
-11
modules/home/vscode.nix
···
programs.vscode = {
enable = true;
package = pkgs.vscode.overrideAttrs (final: prev: {
-
# Force vscode to run with the wayland backend to fix cursor theme issue.
-
# See https://github.com/NixOS/nixpkgs/issues/142764,
-
# https://www.reddit.com/r/NixOS/comments/17jeq1w/nix_packages_not_respecting_cursor_theme_nonnixos/ and
-
# https://discourse.nixos.org/t/please-help-fix-ugly-cursor-in-apps-installed-with-nix-env/11797
-
nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.makeWrapper ];
-
postFixup = prev.postFixup + ''
-
mv $out/bin/code $out/bin/.code-wayland-wrapped
-
makeWrapper $out/bin/.code-wayland-wrapped $out/bin/code \
-
--add-flags "--enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto --enable-wayland-ime"
-
'';
-
# Work around for https://github.com/NixOS/nixpkgs/issues/391341
desktopItems = lib.map
(i: if
+13 -1
modules/home/ssh.nix
···
{ config, ... }: {
programs.ssh = {
enable = true;
-
addKeysToAgent = "yes";
+
enableDefaultConfig = false;
matchBlocks = {
+
"*" = {
+
forwardAgent = false;
+
addKeysToAgent = "yes";
+
compression = false;
+
serverAliveInterval = 0;
+
serverAliveCountMax = 3;
+
hashKnownHosts = false;
+
userKnownHostsFile = "~/.ssh/known_hosts";
+
controlMaster = "no";
+
controlPath = "~/.ssh/master-%r@%n:%p";
+
controlPersist = "no";
+
};
"nixos-shell" = {
hostname = "localhost";
port = 2222;
+3 -4
modules/home/git.nix
···
-
{ config, pkgs, inputs, ...}: let
+
{ config, wrappers, ...}: let
name = "nelind";
email = "nel.n.lindberg@gmail.com";
keyFile = "${config.home.homeDirectory}/.ssh/id_ed25519.pub";
···
lfs.enable = true;
};
-
home.packages = [ (inputs.wrappers.wrapperModules.jujutsu.apply {
-
inherit pkgs;
+
home.packages = [ (wrappers.jujutsu {
settings = {
ui = {
default-command = [ "log" ];
···
fetch = [ "origin" "upstream" ];
};
};
-
}).wrapper ];
+
}) ];
}
+5
modules/home/wrappers.nix
···
+
# Convenience to make using the wrappers easier
+
{ lib, pkgs, inputs, ...}: {
+
config._module.args.wrappers =
+
lib.mapAttrs (name: wrapper: conf: (wrapper.apply (conf // { inherit pkgs; })).wrapper) inputs.wrappers.wrapperModules;
+
}
+13
modules/home/helix/layout.kdl
···
+
// Zellij layout for an IDE like interface around helix with terminal, treeview and helix itself
+
layout {
+
pane split_direction="vertical" {
+
pane size=35 command="broot"
+
pane split_direction="horizontal" {
+
pane command="hx"
+
pane size="25%" name="term"
+
}
+
}
+
pane size=1 borderless=true {
+
plugin location="status-bar"
+
}
+
}
+3 -17
flake.lock
···
"type": "github"
}
},
-
"nixpkgs_2": {
-
"locked": {
-
"lastModified": 1758690382,
-
"narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=",
-
"owner": "NixOS",
-
"repo": "nixpkgs",
-
"rev": "e643668fd71b949c53f8626614b21ff71a07379d",
-
"type": "github"
-
},
-
"original": {
-
"owner": "NixOS",
-
"ref": "nixos-unstable",
-
"repo": "nixpkgs",
-
"type": "github"
-
}
-
},
"root": {
"inputs": {
"home-manager": "home-manager",
···
},
"wrappers": {
"inputs": {
-
"nixpkgs": "nixpkgs_2"
+
"nixpkgs": [
+
"nixpkgs"
+
]
},
"locked": {
"lastModified": 1763233857,
+11
modules/home/kitty/default.nix
···
+
{ pkgs, inputs, ... }: {
+
home.packages = [
+
(inputs.wrappers.lib.wrapPackage {
+
inherit pkgs;
+
package = pkgs.kitty;
+
flags = {
+
"--config" = ./kitty.conf;
+
};
+
})
+
];
+
}
+78
modules/home/kitty/kitty.conf
···
+
+
## Theme
+
## name: Catppuccin Kitty Mocha
+
## author: Catppuccin Org
+
## license: MIT
+
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
+
## blurb: Soothing pastel theme for the high-spirited!
+
+
# The basic colors
+
foreground #cdd6f4
+
background #1e1e2e
+
selection_foreground #1e1e2e
+
selection_background #f5e0dc
+
+
# Cursor colors
+
cursor #f5e0dc
+
cursor_text_color #1e1e2e
+
+
# URL underline color when hovering with mouse
+
url_color #f5e0dc
+
+
# Kitty window border colors
+
active_border_color #b4befe
+
inactive_border_color #6c7086
+
bell_border_color #f9e2af
+
+
# OS Window titlebar colors
+
wayland_titlebar_color system
+
macos_titlebar_color system
+
+
# Tab bar colors
+
active_tab_foreground #11111b
+
active_tab_background #cba6f7
+
inactive_tab_foreground #cdd6f4
+
inactive_tab_background #181825
+
tab_bar_background #11111b
+
+
# Colors for marks (marked text in the terminal)
+
mark1_foreground #1e1e2e
+
mark1_background #b4befe
+
mark2_foreground #1e1e2e
+
mark2_background #cba6f7
+
mark3_foreground #1e1e2e
+
mark3_background #74c7ec
+
+
# The 16 terminal colors
+
+
# black
+
color0 #45475a
+
color8 #585b70
+
+
# red
+
color1 #f38ba8
+
color9 #f38ba8
+
+
# green
+
color2 #a6e3a1
+
color10 #a6e3a1
+
+
# yellow
+
color3 #f9e2af
+
color11 #f9e2af
+
+
# blue
+
color4 #89b4fa
+
color12 #89b4fa
+
+
# magenta
+
color5 #f5c2e7
+
color13 #f5c2e7
+
+
# cyan
+
color6 #94e2d5
+
color14 #94e2d5
+
+
# white
+
color7 #bac2de
+
color15 #a6adc8