adds packages per hostname
adds unstable nixpkgs for vscode, docker, go and ollama updates tilingshell layouts
This commit is contained in:
parent
55d2a96a33
commit
9c28dfe6ae
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,6 +10,7 @@ secrets/ssh_config/*.*
|
||||
secrets/*.*
|
||||
!secrets/*.gpg
|
||||
**/*.keys
|
||||
secrets/**/*.conf
|
||||
|
||||
# SHA256 hashes of the encrypted secrets
|
||||
*.sha256
|
@ -92,6 +92,10 @@ symlinks() {
|
||||
done
|
||||
}
|
||||
|
||||
sys_packages_upgrade() {
|
||||
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure
|
||||
}
|
||||
|
||||
sys_packages() {
|
||||
####################################################################################################
|
||||
# Update system packages
|
||||
@ -177,17 +181,6 @@ tailscalecmd() {
|
||||
# Update system settings
|
||||
####################################################################################################
|
||||
|
||||
fonts() {
|
||||
if is_wsl; then
|
||||
printfe "%s\n" "yellow" "Running in WSL, skipping fonts."
|
||||
return
|
||||
fi
|
||||
|
||||
printfe "%s\n" "cyan" "Ensuring fonts are installed..."
|
||||
source $HOME/dotfiles/bin/helpers/fonts.sh
|
||||
ensure_fonts_installed
|
||||
}
|
||||
|
||||
git_repos() {
|
||||
####################################################################################################
|
||||
# Ensure git repos
|
||||
@ -199,6 +192,12 @@ git_repos() {
|
||||
}
|
||||
|
||||
homemanager() {
|
||||
# Due to weirdness delete this file if it exists
|
||||
if [ -f "$HOME/.config/mimeapps.list.backup" ]; then
|
||||
echo "Removing mimeapps.list.backup"
|
||||
rip "$HOME/.config/mimeapps.list.backup"
|
||||
fi
|
||||
|
||||
cd $HOME/dotfiles/config/home-manager && NIXPKGS_ALLOW_UNFREE=1 home-manager switch -b backup --flake .#$DOTF_HOSTNAME --impure
|
||||
}
|
||||
|
||||
@ -241,6 +240,9 @@ if [ "$#" -eq 0 ]; then
|
||||
else
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
--nixos-upgrade)
|
||||
sys_packages_upgrade
|
||||
;;
|
||||
--nixos|nixos|nix|nixos-rebuild)
|
||||
sys_packages
|
||||
;;
|
||||
|
@ -60,18 +60,6 @@ config:
|
||||
starship:
|
||||
source: ~/dotfiles/config/starship.toml
|
||||
target: ~/.config/starship.toml
|
||||
|
||||
# Fonts to install (Mostly tested with Nerd Fonts)
|
||||
fonts:
|
||||
Hack:
|
||||
url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Hack.zip
|
||||
name: Hack
|
||||
Meslo:
|
||||
url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Meslo.zip
|
||||
name: Meslo
|
||||
JetBrainsMono:
|
||||
url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip
|
||||
name: JetBrainsMono
|
||||
|
||||
git:
|
||||
dotfiles:
|
||||
|
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
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
@ -30,7 +30,7 @@
|
||||
|
||||
# Enable experimental nix-command flakes
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
package = pkgs.nixVersions.stable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
|
25
config/nixos/flake.lock
generated
25
config/nixos/flake.lock
generated
@ -2,11 +2,11 @@
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730327045,
|
||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -16,9 +16,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -3,44 +3,67 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ self, nixpkgs }:
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
pkgs-unstable = import nixpkgs-unstable {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
"mennos-laptop" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
inherit system;
|
||||
modules = [
|
||||
./hardware/mennos-laptop.nix
|
||||
./common/workstation.nix
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
};
|
||||
|
||||
"mennos-gamingpc" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
inherit system;
|
||||
modules = [
|
||||
./hardware/mennos-gamingpc.nix
|
||||
./common/workstation.nix
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
isWorkstation = true;
|
||||
isServer = false;
|
||||
};
|
||||
};
|
||||
|
||||
"mennos-server" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
inherit system;
|
||||
modules = [
|
||||
./hardware/mennos-server.nix
|
||||
./common/server.nix
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
isWorkstation = false;
|
||||
isServer = true;
|
||||
};
|
||||
|
@ -10,9 +10,7 @@
|
||||
networking.hostName = "mennos-laptop";
|
||||
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
};
|
||||
hardware.opengl.enable = true;
|
||||
|
||||
# Load nvidia driver for Xorg and Wayland
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
@ -10,9 +10,7 @@
|
||||
networking.hostName = "mennos-server";
|
||||
|
||||
# Enable OpenGL
|
||||
# hardware.opengl = {
|
||||
# enable = true;
|
||||
# };
|
||||
# hardware.opengl.enable = true;
|
||||
|
||||
# # Load nvidia driver for Xorg and Wayland
|
||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
@ -1,4 +1,9 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
pkgs-unstable,
|
||||
...
|
||||
}:
|
||||
{
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
|
||||
@ -10,6 +15,7 @@
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = true;
|
||||
package = pkgs-unstable.docker;
|
||||
autoPrune.enable = true;
|
||||
daemon.settings = {
|
||||
"live-restore" = false;
|
||||
|
@ -1,12 +1,8 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIJPtjJvUADyj/0sCQAUkXVqShmsjmP11kEL0ooHx94+JCEGWICJIuzRPc
|
||||
mjhdKO/lcmKotU2GCkx35ejWDuOp0bpCOoTzpbOYRxQEws4F0nuA56EB9Q+YsQd6
|
||||
hr31hjIKYQO0vsyW1MItfj5nOKb3Vyars3WQm3zrdIsD/zAJol/Thfbln6j9Y8cc
|
||||
NcCe2hh0MpZWxpMufl7OEmQj+hp0sOIIEhco/TSnQsJjPHyOajjpbRtdyyI7kClD
|
||||
U1kBtue5Go5ZcclYvJIL7ZhbN3ncVDVYrjOP59fbmBIlYpscpGuuF62NX8MRmZEf
|
||||
RIvJgNlfAS9kn9eXTFpG35cjCZMjttRK8JKMrcBq9vdZLfi9ZHF0Lff3b22DfewU
|
||||
Nb6Hr5fybR6XogcmA+cEBwanZy2fxacZeUDZOihItmWUrHgG9THgUVZo5SBvXAnM
|
||||
MZcpfbCfKTJGWpSY5dgVpNV4
|
||||
=LexE
|
||||
jA0ECQMI5RidcMTcDnv/0pAB3EfRm5WT3Niz66zAHGrokTLfnp+yZ7BN6Tt3I6M1
|
||||
wGWBBCY11yJZ5WcD2h4jSdqJhdxsa2TJPKnUvkn4A2to1KMDpq72U4yzMfGc99K6
|
||||
tP9E6FiktACZQGlUaPVZe/Ut15jHSUEo894tso7XG/dWxqKbVMEjzMjwwC6WxJK1
|
||||
fd5WM2bor0fY9K9zMIOweCo=
|
||||
=2wZs
|
||||
-----END PGP MESSAGE-----
|
||||
|
12
secrets/wireguard/work.wg0.conf.gpg
Normal file
12
secrets/wireguard/work.wg0.conf.gpg
Normal file
@ -0,0 +1,12 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
jA0ECQMIy4/a+BamXVv/0sCXAeA0EVKKki2mEoXI7GFg1orbBpnUfvM/sj7ISlHE
|
||||
hues8qd3343KYZyIv/dBweWK13koZmXchfMPMHN61ygA9Y0uf35VLaMKWSudF77a
|
||||
aHDdnMtuSnd0fdDQ3GaYIRGFd6SlRCpfiQ2Nhno+69GRotCxpgoNife9AQVPS4nM
|
||||
ycqURKfck2UG0bPLSpjMEiZz+pFaNQ3vyGl6sjC5Zj2SkZDzftJb+TkEshwI6FZ/
|
||||
XFaodI2rFLQb/oGFQKnZ/fbyChhgfqWn3Na+KMupqJ4S3/Ef3WpTdZ/kYvgVUih6
|
||||
H3iZFptSJ8sfOnabebwvziHKTh/3H7Tek9jgoBsJ2fYdpDx5l/Oz9jy7IZUo7+hl
|
||||
xYWEHENxNQAXIZAl80uaCuLzzW8wK0vWDju8en4dAxms1dNRiZRNSMuE4IZ+/eYP
|
||||
bz9JnJguccAyaJvDGrGnE9GtegN3l3jYaw==
|
||||
=p0YP
|
||||
-----END PGP MESSAGE-----
|
Loading…
x
Reference in New Issue
Block a user