Compare commits

...
Sign in to create a new pull request.

30 commits
gentoo ... main

Author SHA1 Message Date
Bart van der Braak
9b092cd3df
Add OpenBao 2025-12-09 22:28:53 +01:00
Bart van der Braak
f37c9d6f69
Changes 2025-11-11 23:44:02 +01:00
Bart van der Braak
06da4ff7fe Add OSRS Launcher Bolt 2025-09-23 00:52:13 +02:00
Bart van der Braak
e29653e202 Add RuneLite 2025-09-22 23:58:21 +02:00
Bart van der Braak
5001195716 Add PrismLauncher 2025-08-24 11:50:57 +02:00
Bart van der Braak
a2defe1792 Swap gccgo with go 2025-08-06 23:09:41 +02:00
Bart van der Braak
cb94360492 Update Flake lockfile 2025-06-12 20:37:11 +02:00
Bart van der Braak
cf0f0ffbfb Fix fonts 2025-06-12 20:36:41 +02:00
Bart van der Braak
57cd8d8ff5 Update nerd-fonts to only include Jet Brains Mono 2025-05-24 17:23:21 +02:00
Bart van der Braak
5ce17a639f Update flake to use 25.05 2025-05-24 15:46:43 +02:00
Bart van der Braak
249bf0fbc2 Update flakes to use new locked versions 2025-05-24 11:00:32 +02:00
Bart van der Braak
452f1a735a Upgrade to 25.05 channel 2025-05-24 10:16:37 +02:00
Bart van der Braak
4ef536448c Add Signal Desktop 2025-05-24 10:06:27 +02:00
Bart van der Braak
dfc71710fd Add Zed and Ansible Lint 2025-05-10 13:03:51 +02:00
Bart van der Braak
0a09b8dec9 Git LFS and ruff 2025-05-06 22:32:50 +02:00
Bart van der Braak
d61c94a0f2 add me to dialoutgroup for nanokvm serial 2025-04-02 10:36:52 +02:00
Bart van der Braak
4aebe4cd42 Add Powershell 2025-03-18 21:37:08 +01:00
Bart van der Braak
8d648cafae Consolidate all fonts config 2025-03-16 12:29:47 +01:00
Bart van der Braak
89889a0010 Add s3cmd 2025-03-13 12:33:38 +01:00
Bart van der Braak
9d40808a6e Add KRDC 2025-03-07 00:24:34 +01:00
Bart van der Braak
4e59f0b4d6 add cinny 2025-03-02 20:49:55 +01:00
Bart van der Braak
82a474f3db Add exFAT, remove broken fzf-tab 2025-02-25 13:04:15 +01:00
Bart van der Braak
452ac32dd0 Add Noto fonts 2025-02-20 19:36:42 +01:00
Bart van der Braak
cd52bf5258 Oops my symlinks were broken 2025-02-12 00:26:25 +01:00
Bart van der Braak
28e93cba13 Add cloud-utils and Apple Fonts 2025-02-10 22:45:49 +01:00
Bart van der Braak
6199951145 Add ungoogled chromium 2025-02-06 14:14:12 +01:00
Bart van der Braak
cce1e33c23 Ollama and update 2025-02-06 14:13:22 +01:00
Bart van der Braak
6ab03d4cb5 Make VIM default editor 2025-01-26 22:26:33 +01:00
Bart van der Braak
a692174c0a Add Bash and Git config changes 2025-01-24 10:49:06 +01:00
49e409a751
Add Gentoo-specific configs from ws-bart (#9) 2025-01-22 11:26:51 +01:00
28 changed files with 264 additions and 94 deletions

View file

@ -29,6 +29,10 @@ function ngc {
bind '"\e[A": history-search-backward' bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward' bind '"\e[B": history-search-forward'
bind "set completion-ignore-case on"
bind "set completion-map-case on"
bind "set show-all-if-ambiguous on"
export HISTSIZE=10000 export HISTSIZE=10000
export HISTFILESIZE=10000 export HISTFILESIZE=10000
@ -45,4 +49,4 @@ PS1='\[\033[0;33m\][\u@\h:\w]\$\[\033[0m\] '
RIPGREP_CONFIG_PATH=~/.ripgreprc RIPGREP_CONFIG_PATH=~/.ripgreprc
# Disable ctrl+s # Disable ctrl+s
stty -ixon stty -ixon

View file

@ -1,8 +1,7 @@
[user] [user]
name = Bart van der Braak name = Bart van der Braak
email = bart@vanderbraak.nl email = bart@vanderbraak.nl
# signingkey = 26ED0D75D89D9B61 signingkey = ~/.ssh/id_ed25519.pub
[alias] [alias]
p = push p = push
st = status st = status
@ -13,28 +12,29 @@
gl = config --global -l gl = config --global -l
aa = add . aa = add .
pushfwl = push --force-with-lease pushfwl = push --force-with-lease
[core] [core]
excludesfile = ~/.gitignore excludesfile = ~/.gitignore
pager = delta pager = delta
editor = vim
[interactive] [interactive]
diffFilter = delta --color-only diffFilter = delta --color-only
[init] [init]
defaultBranch = main defaultBranch = main
[gpg]
format = ssh
[gpg "ssh"]
allowedSignersFile = ~/.ssh/allowed_signers
signingKey = ~/.ssh/id_ed25519.pub
signingAlgorithm = ssh-ed25519
signingNamespace = gitea
[commit] [commit]
# gpgsign = true gpgsign = true
[push] [push]
autoSetupRemote = true autoSetupRemote = true
[filter "lfs"] [filter "lfs"]
clean = git-lfs clean -- %f clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f smudge = git-lfs smudge -- %f
process = git-lfs filter-process process = git-lfs filter-process
required = true required = true
[includeIf "gitdir:~/Repositories/blender.org/"]
[includeIf "gitdir:~/Repos/projects.blender.org/"] path = ~/.config/git/blender.gitconfig
path = ~/.config/git/blender.gitconfig

View file

@ -1 +1 @@
https://nixos.org/channels/nixos-unstable nixos https://nixos.org/channels/nixos-25.05 nixos

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
dotfiles_home="${1:-$(dirname "$(realpath "$0")")}" dotfiles_home="${1:-$(dirname "$(realpath "$0")")}"
cp -rsf "$dotfiles_home" $HOME cp -rsf "$dotfiles_home"/. $HOME
echo "Dotfiles have been recursively copied and symlinked from $dotfiles_home to $HOME." echo "Dotfiles have been recursively copied and symlinked from $dotfiles_home to $HOME."

View file

@ -0,0 +1 @@
app-admin/awscli-bin ~amd64

View file

@ -0,0 +1 @@
www-client/firefox-developer-bin ~amd64

View file

@ -0,0 +1,3 @@
dev-lang/zig ~amd64
x11-terms/ghostty ~amd64
app-eselect/eselect-zig ~amd64

View file

@ -0,0 +1,2 @@
dev-vcs/git-filter-repo ~amd64

View file

@ -0,0 +1 @@
dev-util/insomnia-bin ~amd64

View file

@ -0,0 +1 @@
dev-build/just ~amd64

View file

@ -0,0 +1 @@
sys-cluster/k9scli ~amd64

View file

@ -0,0 +1 @@
app-editors/logseq-desktop-bin ~amd64

View file

@ -0,0 +1 @@
app-admin/opentofu ~amd64

View file

@ -0,0 +1 @@
x11-terms/wezterm ~amd64

View file

@ -0,0 +1 @@
www-client/zen-bin ~amd64

View file

@ -0,0 +1,5 @@
media-libs/harfbuzz abi_x86_32
media-gfx/graphite2 abi_x86_32
x11-libs/pixman abi_x86_32
x11-libs/cairo abi_x86_32
dev-libs/lzo abi_x86_32

View file

@ -0,0 +1,2 @@
net-misc/iputils tracepath

View file

@ -28,16 +28,7 @@
LC_TELEPHONE = "nl_NL.UTF-8"; LC_TELEPHONE = "nl_NL.UTF-8";
LC_TIME = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
}; };
# Fonts configuration
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
jetbrains-mono
nerdfonts
];
};
# Optimization & Garbage Collection # Optimization & Garbage Collection
# Optimize Nix-Store During Rebuilds # Optimize Nix-Store During Rebuilds

52
nixos/flake.lock generated
View file

@ -1,24 +1,49 @@
{ {
"nodes": { "nodes": {
"nixpkgs": { "home-manager": {
"inputs": {
"nixpkgs": [
"zen-browser",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 0, "lastModified": 1743604125,
"narHash": "sha256-vH5mXxEvZeoGNkqKoCluhTGfoeXCZ1seYhC2pbMN0sg=", "narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
"path": "/nix/store/zd5dgszslv09jzybcpf25gpl12s6r2d9-source", "owner": "nix-community",
"type": "path" "repo": "home-manager",
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
"type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "owner": "nix-community",
"type": "indirect" "repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1749727998,
"narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1735471104, "lastModified": 1743448293,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", "rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -36,14 +61,15 @@
}, },
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1737404254, "lastModified": 1749745531,
"narHash": "sha256-L8Lxp/WVdy9gKO2cXptphdP8cMsnGvZF5Noj8N3jLzI=", "narHash": "sha256-+nnmuYVhQPbELuW2lZCWpTAJo955Qng/SCcLVO/RP6c=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "f8ef9c97ac2f49d5c04dbf3b3d80a0490c05fefb", "rev": "50ec60bcf3528db062700673f61f86d82ca6cda0",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -2,38 +2,38 @@
description = "Bart's NixOS Configuration"; description = "Bart's NixOS Configuration";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.url = "github:0xc000022070/zen-browser-flake";
}; };
outputs = outputs = { nixpkgs, ... }@inputs: {
{ nixpkgs, ... }@inputs: nixosConfigurations = {
{ tongfang = nixpkgs.lib.nixosSystem {
nixosConfigurations = { specialArgs = { inherit inputs; };
tongfang = nixpkgs.lib.nixosSystem { modules = [
specialArgs = { inherit inputs; }; ./hardware/tongfang.nix
modules = [ ./configuration.nix
./hardware/tongfang.nix ./users.nix
./configuration.nix ./packages.nix
./users.nix ./services.nix
./packages.nix ./modules/bootloader.nix
./services.nix ./modules/fonts.nix
./modules/bootloader.nix ./modules/vpn.nix
]; ];
}; };
qemu = nixpkgs.lib.nixosSystem { qemu = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./hardware/qemu.nix ./hardware/qemu.nix
./modules/kde.nix
./modules/kde.nix ./modules/configuration.nix
./modules/configuration.nix ./modules/display-manager.nix
./modules/display-manager.nix ./modules/greeter.nix
./modules/greeter.nix ./modules/networking.nix
./modules/networking.nix ./modules/nix-settings.nix
./modules/nix-settings.nix ./modules/users.nix
./modules/users.nix ];
];
};
}; };
}; };
};
} }

View file

@ -29,24 +29,29 @@ in
"sdhci_pci" "sdhci_pci"
]; ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [
"kvm-amd"
"crypto_simd"
"cryptd"
];
boot.extraModulePackages = [ yt6801 ]; boot.extraModulePackages = [ yt6801 ];
fileSystems."/" = { fileSystems."/" =
device = "/dev/disk/by-uuid/c7cf28c3-5744-45cc-8a81-456d24e44b7a"; { device = "/dev/disk/by-uuid/292e05de-6ddb-4a31-bc8a-92314b13d5c8";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = { boot.initrd.luks.devices."luks-bbe16a5b-ae1e-4297-a250-ebb8e950e12c".device = "/dev/disk/by-uuid/bbe16a5b-ae1e-4297-a250-ebb8e950e12c";
device = "/dev/disk/by-uuid/CEF6-7DAA";
fsType = "vfat"; fileSystems."/boot" =
options = [ { device = "/dev/disk/by-uuid/28FA-4261";
"fmask=0077" fsType = "vfat";
"dmask=0077" options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/f4aac953-a60d-478a-84bc-ac659360ca03"; }
]; ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # 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 # (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -4,6 +4,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
azure-cli azure-cli
opentofu opentofu
bao
curl curl
go-task go-task
sops sops

View file

@ -1,10 +1,94 @@
{ pkgs, ... }: { pkgs, ... }:
{ let
# Fonts fontSources = {
fonts.packages = with pkgs; [ sf-pro = {
jetbrains-mono url = "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg";
nerd-font-patcher hash = "sha256-Lk14U5iLc03BrzO5IdjUwORADqwxKSSg6rS3OlH9aa4=";
noto-fonts-color-emoji };
]; sf-compact = {
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg";
hash = "sha256-CMNP+sL5nshwK0lGBERp+S3YinscCGTi1LVZVl+PuOM=";
};
sf-mono = {
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg";
hash = "sha256-bUoLeOOqzQb5E/ZCzq0cfbSvNO1IhW1xcaLgtV2aeUU=";
};
sf-arabic = {
url = "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg";
hash = "sha256-J2DGLVArdwEsSVF8LqOS7C1MZH/gYJhckn30jRBRl7k=";
};
ny = {
url = "https://devimages-cdn.apple.com/design/resources/download/NY.dmg";
hash = "sha256-HC7ttFJswPMm+Lfql49aQzdWR2osjFYHJTdgjtuI+PQ=";
};
};
makeAppleFont = name: pkgName: source:
pkgs.stdenv.mkDerivation {
inherit name;
src = pkgs.fetchurl {
inherit (source) url hash;
};
version = "0.3.0";
unpackPhase = ''
undmg $src
7z x '${pkgName}'
7z x 'Payload~'
'';
buildInputs = [
pkgs.undmg
pkgs.p7zip
];
setSourceRoot = "sourceRoot=`pwd`";
installPhase = ''
mkdir -p $out/share/fonts/opentype
mkdir -p $out/share/fonts/truetype
find -name \*.otf -exec mv {} $out/share/fonts/opentype/ \;
find -name \*.ttf -exec mv {} $out/share/fonts/truetype/ \;
'';
};
appleColorEmoji = pkgs.stdenv.mkDerivation {
name = "apple-color-emoji";
src = pkgs.fetchurl {
url = "https://github.com/samuelngs/apple-emoji-linux/releases/download/v17.4/AppleColorEmoji.ttf";
hash = "sha256-SG3JQLybhY/fMX+XqmB/BKhQSBB0N1VRqa+H6laVUPE=";
};
unpackPhase = ":";
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp $src $out/share/fonts/truetype/AppleColorEmoji.ttf
'';
};
in {
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
jetbrains-mono
noto-fonts-emoji
(makeAppleFont "sf-pro" "SF Pro Fonts.pkg" fontSources.sf-pro)
(makeAppleFont "sf-compact" "SF Compact Fonts.pkg" fontSources.sf-compact)
(makeAppleFont "sf-mono" "SF Mono Fonts.pkg" fontSources.sf-mono)
(makeAppleFont "sf-arabic" "SF Arabic Fonts.pkg" fontSources.sf-arabic)
(makeAppleFont "ny" "NY Fonts.pkg" fontSources.ny)
appleColorEmoji
];
fontconfig = {
defaultFonts = {
serif = [ "SF Pro" ];
sansSerif = [ "SF Pro" ];
monospace = [ "JetBrainsMono Nerd Font Mono" ];
emoji = [ "Apple Color Emoji" ];
};
useEmbeddedBitmaps = true;
};
};
} }

16
nixos/modules/ollama.nix Normal file
View file

@ -0,0 +1,16 @@
{ ... }:
{
# Add Ollama and OpenWebUI
services.ollama = {
enable = true;
loadModels = [ deepseek-r1:32b ];
acceleration = "rocm";
rocmOverrideGfx = "11.0.0";
environmentVariables = {
HSA_OVERRIDE_GFX_VERSION = "11.0.0";
};
};
services.open-webui.enable = true;
}

View file

@ -24,6 +24,7 @@ in
curl curl
fzf fzf
jq jq
delta
unzip unzip
silver-searcher silver-searcher
ripgrep ripgrep
@ -36,5 +37,13 @@ in
dig dig
zig zig
spotify spotify
exfat
exfatprogs
remmina
s3cmd
powershell
git-lfs
ruff
meld
]; ];
} }

View file

@ -8,6 +8,10 @@
wayland.enable = true; wayland.enable = true;
}; };
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
qt = {
enable = true;
platformTheme = "kde";
};
# Audio system with PipeWire # Audio system with PipeWire
# Enable PipeWire and ALSA support # Enable PipeWire and ALSA support

View file

@ -9,20 +9,24 @@
"wheel" "wheel"
"libvirtd" "libvirtd"
"docker" "docker"
"dialout" # for nanokvm usb
]; ];
packages = with pkgs; [ packages = with pkgs; [
vscodium vscodium
ungoogled-chromium
thunderbird thunderbird
fastfetch fastfetch
ghostty ghostty
neovim neovim
logseq logseq
element-desktop element-desktop
cinny-desktop
signal-desktop
go-task go-task
opentofu opentofu
python3 python3
gnumake gnumake
gccgo go
nodejs_22 nodejs_22
corepack_22 corepack_22
azure-cli azure-cli
@ -31,6 +35,12 @@
inkscape inkscape
gimp gimp
nixfmt-rfc-style nixfmt-rfc-style
cloud-utils
ansible-lint
zed-editor
prismlauncher
runelite
bolt-launcher
]; ];
}; };
@ -40,6 +50,9 @@
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
# Workaround for electron dependency in Logseq # Workaround for electron dependency in Logseq
"electron-27.3.11" "electron-27.3.11"
# Workaround for Cinny to work
"cinny-unwrapped-4.2.3"
"cinny-4.2.3"
]; ];
programs._1password.enable = true; programs._1password.enable = true;
@ -71,9 +84,5 @@
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
enableOnBoot = false; enableOnBoot = false;
rootless = {
enable = true;
setSocketVariable = true;
};
}; };
} }