adds packages per hostname
adds unstable nixpkgs for vscode, docker, go and ollama updates tilingshell layouts
This commit is contained in:
63
config/home-manager/flake.lock
generated
63
config/home-manager/flake.lock
generated
@ -37,67 +37,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-go": {
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1728863046,
|
||||
"narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=",
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-ollama": {
|
||||
"locked": {
|
||||
"lastModified": 1728863046,
|
||||
"narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-vscode": {
|
||||
"locked": {
|
||||
"lastModified": 1728863046,
|
||||
"narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-zed": {
|
||||
"locked": {
|
||||
"lastModified": 1729850857,
|
||||
"narHash": "sha256-WvLXzNNnnw+qpFOmgaM3JUlNEH+T4s22b5i2oyyCpXE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41dea55321e5a999b17033296ac05fe8a8b5a257",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41dea55321e5a999b17033296ac05fe8a8b5a257",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@ -105,10 +57,7 @@
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-go": "nixpkgs-go",
|
||||
"nixpkgs-ollama": "nixpkgs-ollama",
|
||||
"nixpkgs-vscode": "nixpkgs-vscode",
|
||||
"nixpkgs-zed": "nixpkgs-zed"
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -3,12 +3,7 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
|
||||
# Pinned versions for specific packages (https://nixhub.io)
|
||||
nixpkgs-ollama.url = "github:nixos/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732";
|
||||
nixpkgs-go.url = "github:nixos/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732";
|
||||
nixpkgs-vscode.url = "github:nixos/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732";
|
||||
nixpkgs-zed.url = "github:nixos/nixpkgs/41dea55321e5a999b17033296ac05fe8a8b5a257";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
@ -20,10 +15,7 @@
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-go,
|
||||
nixpkgs-vscode,
|
||||
nixpkgs-zed,
|
||||
nixpkgs-ollama,
|
||||
nixpkgs-unstable,
|
||||
home-manager,
|
||||
}:
|
||||
let
|
||||
@ -32,19 +24,7 @@
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
pkgs-go = import nixpkgs-go {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
pkgs-vscode = import nixpkgs-vscode {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
pkgs-zed = import nixpkgs-zed {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
pkgs-ollama = import nixpkgs-ollama {
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
@ -55,14 +35,9 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-go
|
||||
pkgs-vscode
|
||||
pkgs-zed
|
||||
pkgs-ollama
|
||||
;
|
||||
inherit pkgs pkgs-unstable;
|
||||
isServer = false;
|
||||
hostname = "mennos-gamingpc";
|
||||
};
|
||||
};
|
||||
|
||||
@ -70,8 +45,9 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-go pkgs-ollama;
|
||||
inherit pkgs pkgs-unstable;
|
||||
isServer = true;
|
||||
hostname = "mennos-server";
|
||||
};
|
||||
};
|
||||
|
||||
@ -79,14 +55,9 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit
|
||||
pkgs
|
||||
pkgs-go
|
||||
pkgs-vscode
|
||||
pkgs-zed
|
||||
pkgs-ollama
|
||||
;
|
||||
inherit pkgs pkgs-unstable;
|
||||
isServer = false;
|
||||
hostname = "mennos-laptop";
|
||||
};
|
||||
};
|
||||
|
||||
@ -94,8 +65,9 @@
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs pkgs-go pkgs-ollama;
|
||||
inherit pkgs pkgs-unstable;
|
||||
isServer = true;
|
||||
hostname = "homeserver-pc";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,7 +1,5 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
isServer ? false,
|
||||
...
|
||||
}:
|
||||
|
@ -1,12 +1,12 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-go,
|
||||
pkgs-unstable,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.go = {
|
||||
enable = true;
|
||||
package = pkgs-go.go;
|
||||
package = pkgs-unstable.go;
|
||||
};
|
||||
}
|
||||
|
@ -1,90 +1,108 @@
|
||||
{ pkgs, pkgs-ollama, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# General packages
|
||||
git
|
||||
gnupg
|
||||
gh
|
||||
nixfmt-rfc-style
|
||||
wget
|
||||
fastfetch
|
||||
pkgs-ollama.ollama
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
hostname,
|
||||
...
|
||||
}:
|
||||
let
|
||||
hostSpecificPackages =
|
||||
if hostname == "mennos-gamingpc" then
|
||||
with pkgs-unstable; [ ollama-rocm ]
|
||||
else if hostname == "mennos-laptop" then
|
||||
with pkgs-unstable; [ ollama-cuda ]
|
||||
else if hostname == "mennos-server" then
|
||||
with pkgs-unstable; [ ollama-cuda ]
|
||||
else
|
||||
with pkgs-unstable; [ ollama ];
|
||||
in
|
||||
{
|
||||
home.packages =
|
||||
with pkgs;
|
||||
[
|
||||
# General packages
|
||||
git
|
||||
gnupg
|
||||
gh
|
||||
nixfmt-rfc-style
|
||||
wget
|
||||
fastfetch
|
||||
|
||||
# Package management
|
||||
pipx
|
||||
devbox
|
||||
# Package management
|
||||
pipx
|
||||
devbox
|
||||
|
||||
# Development SDKs/Toolkits
|
||||
gcc
|
||||
pkg-config
|
||||
gnumake
|
||||
stdenv.cc
|
||||
rustc
|
||||
cargo
|
||||
cargo-edit
|
||||
cargo-watch
|
||||
cargo-audit
|
||||
cargo-expand
|
||||
cargo-tarpaulin
|
||||
pyenv
|
||||
act # GitHub Actions CLI
|
||||
# Development SDKs/Toolkits
|
||||
gcc
|
||||
pkg-config
|
||||
gnumake
|
||||
stdenv.cc
|
||||
rustc
|
||||
cargo
|
||||
cargo-edit
|
||||
cargo-watch
|
||||
cargo-audit
|
||||
cargo-expand
|
||||
cargo-tarpaulin
|
||||
pyenv
|
||||
act # GitHub Actions CLI
|
||||
|
||||
# File and directory operations
|
||||
eza # Modern ls
|
||||
bat # Modern cat
|
||||
zoxide # Smarter cd command
|
||||
broot # Interactive directory navigator
|
||||
du-dust # Modern du
|
||||
duf # Modern df
|
||||
zip
|
||||
unzip
|
||||
# File and directory operations
|
||||
eza # Modern ls
|
||||
bat # Modern cat
|
||||
zoxide # Smarter cd command
|
||||
broot # Interactive directory navigator
|
||||
du-dust # Modern du
|
||||
duf # Modern df
|
||||
zip
|
||||
unzip
|
||||
|
||||
# Search and text processing
|
||||
ripgrep # Modern grep
|
||||
sd # Modern sed
|
||||
choose # Modern cut
|
||||
jq # JSON processor
|
||||
yq # YAML processor
|
||||
xsv # CSV processor
|
||||
# Search and text processing
|
||||
ripgrep # Modern grep
|
||||
sd # Modern sed
|
||||
choose # Modern cut
|
||||
jq # JSON processor
|
||||
yq # YAML processor
|
||||
xsv # CSV processor
|
||||
|
||||
# System monitoring and process management
|
||||
procs # Modern ps
|
||||
bottom # Modern top/htop
|
||||
hyperfine # Benchmarking tool
|
||||
bandwhich # Network utilization tool
|
||||
doggo # Modern dig
|
||||
gping # Ping with graph
|
||||
htop # Interactive process viewer
|
||||
# System monitoring and process management
|
||||
procs # Modern ps
|
||||
bottom # Modern top/htop
|
||||
hyperfine # Benchmarking tool
|
||||
bandwhich # Network utilization tool
|
||||
doggo # Modern dig
|
||||
gping # Ping with graph
|
||||
htop # Interactive process viewer
|
||||
|
||||
# Development utilities
|
||||
delta # Better git diff
|
||||
difftastic # Structural diff tool
|
||||
fzf # Fuzzy finder
|
||||
tokei # Code statistics
|
||||
tealdeer # Modern tldr client
|
||||
lazygit # Terminal UI for git
|
||||
# Development utilities
|
||||
delta # Better git diff
|
||||
difftastic # Structural diff tool
|
||||
fzf # Fuzzy finder
|
||||
tokei # Code statistics
|
||||
tealdeer # Modern tldr client
|
||||
lazygit # Terminal UI for git
|
||||
|
||||
# Shell and terminal
|
||||
starship # Cross-shell prompt
|
||||
blesh # Bash ble.sh
|
||||
zellij # Modern terminal multiplexer
|
||||
screen # Terminal multiplexer
|
||||
# Shell and terminal
|
||||
starship # Cross-shell prompt
|
||||
blesh # Bash ble.sh
|
||||
zellij # Modern terminal multiplexer
|
||||
screen # Terminal multiplexer
|
||||
|
||||
# File viewers and processors
|
||||
hexyl # Modern hexdump
|
||||
chafa # Terminal image viewer
|
||||
glow # Markdown renderer
|
||||
# File viewers and processors
|
||||
hexyl # Modern hexdump
|
||||
chafa # Terminal image viewer
|
||||
glow # Markdown renderer
|
||||
|
||||
# Editors
|
||||
neovim
|
||||
nano
|
||||
micro
|
||||
# Editors
|
||||
neovim
|
||||
nano
|
||||
micro
|
||||
|
||||
# Lolz
|
||||
fortune
|
||||
cowsay
|
||||
cmatrix
|
||||
figlet
|
||||
lolcat
|
||||
];
|
||||
# Lolz
|
||||
fortune
|
||||
cowsay
|
||||
cmatrix
|
||||
figlet
|
||||
lolcat
|
||||
]
|
||||
++ hostSpecificPackages;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs-unstable, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# GUI Applications
|
||||
## Utilities
|
||||
mission-center
|
||||
pkgs-unstable.mission-center
|
||||
gnome.gnome-tweaks
|
||||
pinta
|
||||
bottles
|
||||
|
@ -1,13 +1,8 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-vscode,
|
||||
...
|
||||
}:
|
||||
{ pkgs, pkgs-unstable, ... }:
|
||||
{
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs-vscode.vscode;
|
||||
package = pkgs-unstable.vscode;
|
||||
mutableExtensionsDir = true;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
ms-azuretools.vscode-docker
|
||||
|
@ -1,9 +1,12 @@
|
||||
{ pkgs-unstable, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-zed,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = [ pkgs-zed.zed-editor ];
|
||||
home.packages = with pkgs-unstable; [
|
||||
zed-editor
|
||||
nixd
|
||||
nixdoc
|
||||
|
||||
# We need nodejs due to a stupid bug with CoPilot not loading properly
|
||||
# https://github.com/zed-industries/zed/issues/12187#issuecomment-2322338504
|
||||
nodejs_22
|
||||
];
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
# Default applications
|
||||
xdg.mimeApps = {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||
|
@ -137,7 +137,7 @@
|
||||
layouts-json = ''
|
||||
[
|
||||
{
|
||||
"id": "Layout 1",
|
||||
"id": "Landscape Ultrawide",
|
||||
"tiles": [
|
||||
{ "x": 0, "y": 0, "width": 0.22, "height": 0.5, "groups": [1, 2] },
|
||||
{ "x": 0, "y": 0.5, "width": 0.22, "height": 0.5, "groups": [1, 2] },
|
||||
@ -147,46 +147,20 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Layout 2",
|
||||
"tiles": [
|
||||
{ "x": 0, "y": 0, "width": 0.22, "height": 1, "groups": [1] },
|
||||
{ "x": 0.22, "y": 0, "width": 0.56, "height": 1, "groups": [1, 2] },
|
||||
{ "x": 0.78, "y": 0, "width": 0.22, "height": 1, "groups": [2] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Layout 3",
|
||||
"tiles": [
|
||||
{ "x": 0, "y": 0, "width": 0.33, "height": 1, "groups": [1] },
|
||||
{ "x": 0.33, "y": 0, "width": 0.67, "height": 1, "groups": [1] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Layout 4",
|
||||
"tiles": [
|
||||
{ "x": 0, "y": 0, "width": 0.67, "height": 1, "groups": [1] },
|
||||
{ "x": 0.67, "y": 0, "width": 0.33, "height": 1, "groups": [1] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Portrait Layout",
|
||||
"id": "Portrait Ultrawide",
|
||||
"tiles": [
|
||||
{ "x": 0, "y": 0, "width": 1, "height": 0.25, "groups": [1] },
|
||||
{ "x": 0, "y": 0.25, "width": 1, "height": 0.5, "groups": [1, 2] },
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0.75,
|
||||
"width": 0.50,
|
||||
"height": 0.25,
|
||||
"groups": [2, 3]
|
||||
},
|
||||
{
|
||||
"x": 0.50,
|
||||
"y": 0.75,
|
||||
"width": 0.50,
|
||||
"height": 0.25,
|
||||
"groups": [2, 3]
|
||||
}
|
||||
{ "x": 0, "y": 0.75, "width": 0.5, "height": 0.25, "groups": [2, 3] },
|
||||
{ "x": 0.5, "y": 0.75, "width": 0.5, "height": 0.25, "groups": [2, 3] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Landscape Laptop",
|
||||
"tiles": [
|
||||
{ "x": 0, "y": 0, "width": 0.33, "height": 0.5, "groups": [1, 2] },
|
||||
{ "x": 0.33, "y": 0, "width": 0.67, "height": 1, "groups": [1] },
|
||||
{ "x": 0, "y": 0.5, "width": 0.33, "height": 0.5, "groups": [2, 1] }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
37
config/home-manager/workstation/wireguard.nix
Normal file
37
config/home-manager/workstation/wireguard.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
# Enable NetworkManager with Wireguard support
|
||||
networking = {
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
plugins = with pkgs; [
|
||||
networkmanager-vpnc
|
||||
networkmanager-openvpn
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Add NetworkManager connection profiles
|
||||
environment.etc."NetworkManager/system-connections/work-vpn.nmconnection".source = "${config.home.homeDirectory}/dotfiles/secrets/wireguard/work.wg0.conf";
|
||||
|
||||
# Ensure NetworkManager Wireguard support is installed
|
||||
environment.systemPackages = with pkgs; [
|
||||
networkmanager-wireguard
|
||||
wireguard-tools
|
||||
];
|
||||
|
||||
# Add a systemd service to set proper permissions and reload NetworkManager connections
|
||||
systemd.services.reload-networkmanager-connections = {
|
||||
description = "Set permissions and reload NetworkManager Connections";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "NetworkManager.service" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = pkgs.writeShellScript "reload-nm-connections" ''
|
||||
chmod 600 /etc/NetworkManager/system-connections/*
|
||||
${pkgs.networkmanager}/bin/nmcli connection reload
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user