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/*.*
|
||||||
!secrets/*.gpg
|
!secrets/*.gpg
|
||||||
**/*.keys
|
**/*.keys
|
||||||
|
secrets/**/*.conf
|
||||||
|
|
||||||
# SHA256 hashes of the encrypted secrets
|
# SHA256 hashes of the encrypted secrets
|
||||||
*.sha256
|
*.sha256
|
@ -92,6 +92,10 @@ symlinks() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sys_packages_upgrade() {
|
||||||
|
cd $HOME/dotfiles/config/nixos && sudo nixos-rebuild switch --upgrade --flake .#$DOTF_HOSTNAME --impure
|
||||||
|
}
|
||||||
|
|
||||||
sys_packages() {
|
sys_packages() {
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
# Update system packages
|
# Update system packages
|
||||||
@ -177,17 +181,6 @@ tailscalecmd() {
|
|||||||
# Update system settings
|
# 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() {
|
git_repos() {
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
# Ensure git repos
|
# Ensure git repos
|
||||||
@ -199,6 +192,12 @@ git_repos() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
homemanager() {
|
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
|
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
|
else
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
case $arg in
|
case $arg in
|
||||||
|
--nixos-upgrade)
|
||||||
|
sys_packages_upgrade
|
||||||
|
;;
|
||||||
--nixos|nixos|nix|nixos-rebuild)
|
--nixos|nixos|nix|nixos-rebuild)
|
||||||
sys_packages
|
sys_packages
|
||||||
;;
|
;;
|
||||||
|
@ -61,18 +61,6 @@ config:
|
|||||||
source: ~/dotfiles/config/starship.toml
|
source: ~/dotfiles/config/starship.toml
|
||||||
target: ~/.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:
|
git:
|
||||||
dotfiles:
|
dotfiles:
|
||||||
url: git@git.mvl.sh:vleeuwenmenno/dotfiles.git
|
url: git@git.mvl.sh:vleeuwenmenno/dotfiles.git
|
||||||
|
63
config/home-manager/flake.lock
generated
63
config/home-manager/flake.lock
generated
@ -37,67 +37,19 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-go": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728863046,
|
"lastModified": 1730531603,
|
||||||
"narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=",
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"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"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -105,10 +57,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-go": "nixpkgs-go",
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
"nixpkgs-ollama": "nixpkgs-ollama",
|
|
||||||
"nixpkgs-vscode": "nixpkgs-vscode",
|
|
||||||
"nixpkgs-zed": "nixpkgs-zed"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3,12 +3,7 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
# 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";
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
url = "github:nix-community/home-manager/release-24.05";
|
||||||
@ -20,10 +15,7 @@
|
|||||||
{
|
{
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-go,
|
nixpkgs-unstable,
|
||||||
nixpkgs-vscode,
|
|
||||||
nixpkgs-zed,
|
|
||||||
nixpkgs-ollama,
|
|
||||||
home-manager,
|
home-manager,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@ -32,19 +24,7 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
pkgs-go = import nixpkgs-go {
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
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 {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
@ -55,14 +35,9 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit
|
inherit pkgs pkgs-unstable;
|
||||||
pkgs
|
|
||||||
pkgs-go
|
|
||||||
pkgs-vscode
|
|
||||||
pkgs-zed
|
|
||||||
pkgs-ollama
|
|
||||||
;
|
|
||||||
isServer = false;
|
isServer = false;
|
||||||
|
hostname = "mennos-gamingpc";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -70,8 +45,9 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit pkgs pkgs-go pkgs-ollama;
|
inherit pkgs pkgs-unstable;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
|
hostname = "mennos-server";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -79,14 +55,9 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit
|
inherit pkgs pkgs-unstable;
|
||||||
pkgs
|
|
||||||
pkgs-go
|
|
||||||
pkgs-vscode
|
|
||||||
pkgs-zed
|
|
||||||
pkgs-ollama
|
|
||||||
;
|
|
||||||
isServer = false;
|
isServer = false;
|
||||||
|
hostname = "mennos-laptop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -94,8 +65,9 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./home.nix ];
|
modules = [ ./home.nix ];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit pkgs pkgs-go pkgs-ollama;
|
inherit pkgs pkgs-unstable;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
|
hostname = "homeserver-pc";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
isServer ? false,
|
isServer ? false,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgs-go,
|
pkgs-unstable,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
programs.go = {
|
programs.go = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs-go.go;
|
package = pkgs-unstable.go;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,90 +1,108 @@
|
|||||||
{ pkgs, pkgs-ollama, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
pkgs,
|
||||||
# General packages
|
pkgs-unstable,
|
||||||
git
|
hostname,
|
||||||
gnupg
|
...
|
||||||
gh
|
}:
|
||||||
nixfmt-rfc-style
|
let
|
||||||
wget
|
hostSpecificPackages =
|
||||||
fastfetch
|
if hostname == "mennos-gamingpc" then
|
||||||
pkgs-ollama.ollama
|
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
|
# Package management
|
||||||
pipx
|
pipx
|
||||||
devbox
|
devbox
|
||||||
|
|
||||||
# Development SDKs/Toolkits
|
# Development SDKs/Toolkits
|
||||||
gcc
|
gcc
|
||||||
pkg-config
|
pkg-config
|
||||||
gnumake
|
gnumake
|
||||||
stdenv.cc
|
stdenv.cc
|
||||||
rustc
|
rustc
|
||||||
cargo
|
cargo
|
||||||
cargo-edit
|
cargo-edit
|
||||||
cargo-watch
|
cargo-watch
|
||||||
cargo-audit
|
cargo-audit
|
||||||
cargo-expand
|
cargo-expand
|
||||||
cargo-tarpaulin
|
cargo-tarpaulin
|
||||||
pyenv
|
pyenv
|
||||||
act # GitHub Actions CLI
|
act # GitHub Actions CLI
|
||||||
|
|
||||||
# File and directory operations
|
# File and directory operations
|
||||||
eza # Modern ls
|
eza # Modern ls
|
||||||
bat # Modern cat
|
bat # Modern cat
|
||||||
zoxide # Smarter cd command
|
zoxide # Smarter cd command
|
||||||
broot # Interactive directory navigator
|
broot # Interactive directory navigator
|
||||||
du-dust # Modern du
|
du-dust # Modern du
|
||||||
duf # Modern df
|
duf # Modern df
|
||||||
zip
|
zip
|
||||||
unzip
|
unzip
|
||||||
|
|
||||||
# Search and text processing
|
# Search and text processing
|
||||||
ripgrep # Modern grep
|
ripgrep # Modern grep
|
||||||
sd # Modern sed
|
sd # Modern sed
|
||||||
choose # Modern cut
|
choose # Modern cut
|
||||||
jq # JSON processor
|
jq # JSON processor
|
||||||
yq # YAML processor
|
yq # YAML processor
|
||||||
xsv # CSV processor
|
xsv # CSV processor
|
||||||
|
|
||||||
# System monitoring and process management
|
# System monitoring and process management
|
||||||
procs # Modern ps
|
procs # Modern ps
|
||||||
bottom # Modern top/htop
|
bottom # Modern top/htop
|
||||||
hyperfine # Benchmarking tool
|
hyperfine # Benchmarking tool
|
||||||
bandwhich # Network utilization tool
|
bandwhich # Network utilization tool
|
||||||
doggo # Modern dig
|
doggo # Modern dig
|
||||||
gping # Ping with graph
|
gping # Ping with graph
|
||||||
htop # Interactive process viewer
|
htop # Interactive process viewer
|
||||||
|
|
||||||
# Development utilities
|
# Development utilities
|
||||||
delta # Better git diff
|
delta # Better git diff
|
||||||
difftastic # Structural diff tool
|
difftastic # Structural diff tool
|
||||||
fzf # Fuzzy finder
|
fzf # Fuzzy finder
|
||||||
tokei # Code statistics
|
tokei # Code statistics
|
||||||
tealdeer # Modern tldr client
|
tealdeer # Modern tldr client
|
||||||
lazygit # Terminal UI for git
|
lazygit # Terminal UI for git
|
||||||
|
|
||||||
# Shell and terminal
|
# Shell and terminal
|
||||||
starship # Cross-shell prompt
|
starship # Cross-shell prompt
|
||||||
blesh # Bash ble.sh
|
blesh # Bash ble.sh
|
||||||
zellij # Modern terminal multiplexer
|
zellij # Modern terminal multiplexer
|
||||||
screen # Terminal multiplexer
|
screen # Terminal multiplexer
|
||||||
|
|
||||||
# File viewers and processors
|
# File viewers and processors
|
||||||
hexyl # Modern hexdump
|
hexyl # Modern hexdump
|
||||||
chafa # Terminal image viewer
|
chafa # Terminal image viewer
|
||||||
glow # Markdown renderer
|
glow # Markdown renderer
|
||||||
|
|
||||||
# Editors
|
# Editors
|
||||||
neovim
|
neovim
|
||||||
nano
|
nano
|
||||||
micro
|
micro
|
||||||
|
|
||||||
# Lolz
|
# Lolz
|
||||||
fortune
|
fortune
|
||||||
cowsay
|
cowsay
|
||||||
cmatrix
|
cmatrix
|
||||||
figlet
|
figlet
|
||||||
lolcat
|
lolcat
|
||||||
];
|
]
|
||||||
|
++ hostSpecificPackages;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs-unstable, pkgs, ... }:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# GUI Applications
|
# GUI Applications
|
||||||
## Utilities
|
## Utilities
|
||||||
mission-center
|
pkgs-unstable.mission-center
|
||||||
gnome.gnome-tweaks
|
gnome.gnome-tweaks
|
||||||
pinta
|
pinta
|
||||||
bottles
|
bottles
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
{
|
{ pkgs, pkgs-unstable, ... }:
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
pkgs-vscode,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs-vscode.vscode;
|
package = pkgs-unstable.vscode;
|
||||||
mutableExtensionsDir = true;
|
mutableExtensionsDir = true;
|
||||||
extensions = with pkgs.vscode-extensions; [
|
extensions = with pkgs.vscode-extensions; [
|
||||||
ms-azuretools.vscode-docker
|
ms-azuretools.vscode-docker
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
|
{ pkgs-unstable, ... }:
|
||||||
{
|
{
|
||||||
config,
|
home.packages = with pkgs-unstable; [
|
||||||
pkgs,
|
zed-editor
|
||||||
pkgs-zed,
|
nixd
|
||||||
...
|
nixdoc
|
||||||
}:
|
|
||||||
{
|
# We need nodejs due to a stupid bug with CoPilot not loading properly
|
||||||
home.packages = [ pkgs-zed.zed-editor ];
|
# https://github.com/zed-industries/zed/issues/12187#issuecomment-2322338504
|
||||||
|
nodejs_22
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
# Default applications
|
# Default applications
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
files = builtins.removeAttrs (builtins.readDir ./.) [ "default.nix" ];
|
||||||
|
@ -137,7 +137,7 @@
|
|||||||
layouts-json = ''
|
layouts-json = ''
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": "Layout 1",
|
"id": "Landscape Ultrawide",
|
||||||
"tiles": [
|
"tiles": [
|
||||||
{ "x": 0, "y": 0, "width": 0.22, "height": 0.5, "groups": [1, 2] },
|
{ "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] },
|
{ "x": 0, "y": 0.5, "width": 0.22, "height": 0.5, "groups": [1, 2] },
|
||||||
@ -147,46 +147,20 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "Layout 2",
|
"id": "Portrait Ultrawide",
|
||||||
"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",
|
|
||||||
"tiles": [
|
"tiles": [
|
||||||
{ "x": 0, "y": 0, "width": 1, "height": 0.25, "groups": [1] },
|
{ "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.25, "width": 1, "height": 0.5, "groups": [1, 2] },
|
||||||
{
|
{ "x": 0, "y": 0.75, "width": 0.5, "height": 0.25, "groups": [2, 3] },
|
||||||
"x": 0,
|
{ "x": 0.5, "y": 0.75, "width": 0.5, "height": 0.25, "groups": [2, 3] }
|
||||||
"y": 0.75,
|
]
|
||||||
"width": 0.50,
|
},
|
||||||
"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.50,
|
{ "x": 0.33, "y": 0, "width": 0.67, "height": 1, "groups": [1] },
|
||||||
"y": 0.75,
|
{ "x": 0, "y": 0.5, "width": 0.33, "height": 0.5, "groups": [2, 1] }
|
||||||
"width": 0.50,
|
|
||||||
"height": 0.25,
|
|
||||||
"groups": [2, 3]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
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
|
# Enable experimental nix-command flakes
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixFlakes;
|
package = pkgs.nixVersions.stable;
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
'';
|
'';
|
||||||
|
25
config/nixos/flake.lock
generated
25
config/nixos/flake.lock
generated
@ -2,11 +2,11 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730327045,
|
"lastModified": 1730741070,
|
||||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -16,9 +16,26 @@
|
|||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3,44 +3,67 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
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 = {
|
nixosConfigurations = {
|
||||||
"mennos-laptop" = nixpkgs.lib.nixosSystem {
|
"mennos-laptop" = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
./hardware/mennos-laptop.nix
|
./hardware/mennos-laptop.nix
|
||||||
./common/workstation.nix
|
./common/workstation.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
|
inherit pkgs-unstable;
|
||||||
isWorkstation = true;
|
isWorkstation = true;
|
||||||
isServer = false;
|
isServer = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"mennos-gamingpc" = nixpkgs.lib.nixosSystem {
|
"mennos-gamingpc" = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
./hardware/mennos-gamingpc.nix
|
./hardware/mennos-gamingpc.nix
|
||||||
./common/workstation.nix
|
./common/workstation.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
|
inherit pkgs-unstable;
|
||||||
isWorkstation = true;
|
isWorkstation = true;
|
||||||
isServer = false;
|
isServer = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"mennos-server" = nixpkgs.lib.nixosSystem {
|
"mennos-server" = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
./hardware/mennos-server.nix
|
./hardware/mennos-server.nix
|
||||||
./common/server.nix
|
./common/server.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
|
inherit pkgs-unstable;
|
||||||
isWorkstation = false;
|
isWorkstation = false;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
};
|
};
|
||||||
|
@ -10,9 +10,7 @@
|
|||||||
networking.hostName = "mennos-laptop";
|
networking.hostName = "mennos-laptop";
|
||||||
|
|
||||||
# Enable OpenGL
|
# Enable OpenGL
|
||||||
hardware.opengl = {
|
hardware.opengl.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Load nvidia driver for Xorg and Wayland
|
# Load nvidia driver for Xorg and Wayland
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
@ -10,9 +10,7 @@
|
|||||||
networking.hostName = "mennos-server";
|
networking.hostName = "mennos-server";
|
||||||
|
|
||||||
# Enable OpenGL
|
# Enable OpenGL
|
||||||
# hardware.opengl = {
|
# hardware.opengl.enable = true;
|
||||||
# enable = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# # Load nvidia driver for Xorg and Wayland
|
# # Load nvidia driver for Xorg and Wayland
|
||||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
|
||||||
@ -10,6 +15,7 @@
|
|||||||
virtualisation = {
|
virtualisation = {
|
||||||
docker = {
|
docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs-unstable.docker;
|
||||||
autoPrune.enable = true;
|
autoPrune.enable = true;
|
||||||
daemon.settings = {
|
daemon.settings = {
|
||||||
"live-restore" = false;
|
"live-restore" = false;
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
-----BEGIN PGP MESSAGE-----
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
jA0ECQMIJPtjJvUADyj/0sCQAUkXVqShmsjmP11kEL0ooHx94+JCEGWICJIuzRPc
|
jA0ECQMI5RidcMTcDnv/0pAB3EfRm5WT3Niz66zAHGrokTLfnp+yZ7BN6Tt3I6M1
|
||||||
mjhdKO/lcmKotU2GCkx35ejWDuOp0bpCOoTzpbOYRxQEws4F0nuA56EB9Q+YsQd6
|
wGWBBCY11yJZ5WcD2h4jSdqJhdxsa2TJPKnUvkn4A2to1KMDpq72U4yzMfGc99K6
|
||||||
hr31hjIKYQO0vsyW1MItfj5nOKb3Vyars3WQm3zrdIsD/zAJol/Thfbln6j9Y8cc
|
tP9E6FiktACZQGlUaPVZe/Ut15jHSUEo894tso7XG/dWxqKbVMEjzMjwwC6WxJK1
|
||||||
NcCe2hh0MpZWxpMufl7OEmQj+hp0sOIIEhco/TSnQsJjPHyOajjpbRtdyyI7kClD
|
fd5WM2bor0fY9K9zMIOweCo=
|
||||||
U1kBtue5Go5ZcclYvJIL7ZhbN3ncVDVYrjOP59fbmBIlYpscpGuuF62NX8MRmZEf
|
=2wZs
|
||||||
RIvJgNlfAS9kn9eXTFpG35cjCZMjttRK8JKMrcBq9vdZLfi9ZHF0Lff3b22DfewU
|
|
||||||
Nb6Hr5fybR6XogcmA+cEBwanZy2fxacZeUDZOihItmWUrHgG9THgUVZo5SBvXAnM
|
|
||||||
MZcpfbCfKTJGWpSY5dgVpNV4
|
|
||||||
=LexE
|
|
||||||
-----END PGP MESSAGE-----
|
-----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