This commit is contained in:
fwastring 2025-04-07 14:19:10 +02:00
parent 7cf0bb0c1c
commit 10fd762b95
17 changed files with 753 additions and 562 deletions

View file

@ -6,10 +6,11 @@
config, config,
pkgs, pkgs,
... ...
}: { }:
imports = [ {
# ../shared/vial.nix imports = [
]; # ../shared/vial.nix
];
nixpkgs = { nixpkgs = {
overlays = [ overlays = [
]; ];
@ -18,27 +19,26 @@
}; };
}; };
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs); nix.registry = (lib.mapAttrs (_: flake: { inherit flake; })) (
nix.nixPath = ["/etc/nix/path"]; (lib.filterAttrs (_: lib.isType "flake")) inputs
);
nix.nixPath = [ "/etc/nix/path" ];
users.defaultUserShell = pkgs.bash; users.defaultUserShell = pkgs.bash;
documentation.man.generateCaches = false; documentation.man.generateCaches = false;
programs.fish.enable = true; programs.fish.enable = true;
programs.bash = { programs.bash = {
interactiveShellInit = '' interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi fi
''; '';
}; };
environment.etc = environment.etc = lib.mapAttrs' (name: value: {
lib.mapAttrs' name = "nix/path/${name}";
(name: value: { value.source = value.flake;
name = "nix/path/${name}"; }) config.nix.registry;
value.source = value.flake;
})
config.nix.registry;
nix.settings = { nix.settings = {
experimental-features = "nix-command flakes"; experimental-features = "nix-command flakes";
@ -47,57 +47,56 @@
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
liveRestore = false; liveRestore = false;
}; };
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services = { services = {
tailscale = { tailscale = {
enable = true; enable = true;
}; };
pipewire = { pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
}; };
}; };
hardware = { hardware = {
bluetooth = { bluetooth = {
enable = true; enable = true;
powerOnBoot = true; powerOnBoot = true;
settings = { settings = {
General = { General = {
Disable="Headset"; Disable = "Headset";
}; };
}; };
}; };
}; };
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nameservers = [ "8.8.8.8" ]; networking.nameservers = [ "8.8.8.8" ];
# networking.resolvconf.enable = pkgs.lib.mkForce false; # networking.resolvconf.enable = pkgs.lib.mkForce false;
# networking.dhcpcd.extraConfig = "nohook resolv.conf"; # networking.dhcpcd.extraConfig = "nohook resolv.conf";
# networking.networkmanager.dns = "none"; # networking.networkmanager.dns = "none";
environment.sessionVariables = { environment.sessionVariables = {
EDITOR = "nvim"; EDITOR = "nvim";
TERM = "xterm-256color"; TERM = "xterm-256color";
}; };
time.timeZone = "Europe/Stockholm"; time.timeZone = "Europe/Stockholm";
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
(nerdfonts.override { (nerdfonts.override {
fonts = [ fonts = [
"Hack" "Hack"
"FiraCode" "FiraCode"
]; ];
}) })
]; ];
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "sv_SE.UTF-8"; LC_ADDRESS = "sv_SE.UTF-8";
@ -112,55 +111,57 @@
}; };
boot.loader = { boot.loader = {
efi = { efi = {
canTouchEfiVariables = false; canTouchEfiVariables = false;
}; };
grub = { grub = {
efiSupport = true; efiSupport = true;
efiInstallAsRemovable = true; efiInstallAsRemovable = true;
device = "nodev"; device = "nodev";
}; };
}; };
console.keyMap = "sv-latin1"; console.keyMap = "sv-latin1";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
vim vim
neovim neovim
git git
openssh openssh
rofi rofi
]; (wrapHelm kubernetes-helm {
plugins = with pkgs.kubernetes-helmPlugins; [
helm-secrets
helm-diff
helm-s3
helm-git
];
})
k3sup
nixfmt-rfc-style
nixd
vault
];
services = { services = {
# udev = { picom.enable = true;
# extraRules = ''
# KERNEL=="ttyACM0", MODE:="666"
# '';
# packages = with pkgs; [
# vial
# via
# ];
# };
picom.enable = true;
openssh = { openssh = {
enable = true; enable = true;
}; };
strongswan = { strongswan = {
enable = true;
secrets = [
"ipsec.d/ipsec.nm-l2tp.secrets"
];
};
xserver = {
displayManager = {
startx.enable = true;
};
enable = true; enable = true;
xkb = { secrets = [
layout = "se"; "ipsec.d/ipsec.nm-l2tp.secrets"
variant = ""; ];
}; };
xserver = {
displayManager = {
startx.enable = true;
};
enable = true;
xkb = {
layout = "se";
variant = "";
};
windowManager = { windowManager = {
dwm = { dwm = {
enable = true; enable = true;
@ -170,7 +171,7 @@
locate = { locate = {
enable = true; enable = true;
package = pkgs.mlocate; package = pkgs.mlocate;
localuser = null; localuser = null;
}; };
blueman = { blueman = {
enable = true; enable = true;
@ -179,4 +180,3 @@
system.stateVersion = "23.11"; system.stateVersion = "23.11";
} }

View file

@ -7,18 +7,19 @@
pkgs, pkgs,
myhostname, myhostname,
... ...
}: { }:
{
imports = [ imports = [
../shared/dwm.nix ../shared/dwm.nix
../shared/vscode.nix ../shared/vscode.nix
# ../shared/dmenu.nix # ../shared/dmenu.nix
# ../shared/rofi.nix # ../shared/rofi.nix
# ../shared/mpv.nix # ../shared/mpv.nix
../shared/kitty.nix ../shared/kitty.nix
../shared/alacritty.nix ../shared/alacritty.nix
../shared/tmux.nix ../shared/tmux.nix
../shared/vim.nix ../shared/vim.nix
../shared/fish.nix ../shared/fish.nix
../shared/git.nix ../shared/git.nix
../shared/nixpkgs.nix ../shared/nixpkgs.nix
../shared/firefox.nix ../shared/firefox.nix
@ -30,145 +31,142 @@
]; ];
nixpkgs = { nixpkgs = {
overlays = []; overlays = [ ];
config = { config = {
allowUnfree = true; allowUnfree = true;
allowUnfreePredicate = _: true; allowUnfreePredicate = _: true;
}; };
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
# System # System
xsel xsel
unzip unzip
zip zip
wget wget
alsa-utils alsa-utils
upower upower
gcc gcc
gnumake gnumake
cmake cmake
arion arion
htop htop
pavucontrol pavucontrol
procps procps
openssh openssh
networkmanager networkmanager
fd fd
bat bat
bluez bluez
bluez-tools bluez-tools
unstable.betterlockscreen unstable.betterlockscreen
# tmux # tmux
fzf fzf
eza eza
btop btop
thttpd thttpd
xcolor xcolor
openssl openssl
dig dig
jq jq
wireguard-tools wireguard-tools
acpi acpi
light light
# Dev # Dev
unstable.fluxcd unstable.fluxcd
argocd argocd
gh gh
unstable.deno unstable.deno
unstable.hugo unstable.hugo
unstable.logstash unstable.logstash
ngrok ngrok
tailwindcss tailwindcss
nodejs_23 nodejs_23
yarn yarn
plantuml plantuml
go go
# dotnetCorePackages.sdk_8_0_3xx templ
dotnetCorePackages.sdk_9_0_1xx goa
templ azuredatastudio
goa mdbtools
azuredatastudio prettierd
mdbtools
prettierd
#Tools #Tools
qrencode qrencode
air air
k9s unstable.k9s
git git
lazydocker lazydocker
kubectl kubectl
#LSP #LSP
# roslyn # roslyn
roslyn-ls roslyn-ls
dockerfile-language-server-nodejs dockerfile-language-server-nodejs
docker-compose-language-service docker-compose-language-service
bash-language-server bash-language-server
python312Packages.python-lsp-server python312Packages.python-lsp-server
yaml-language-server yaml-language-server
lua-language-server lua-language-server
typescript typescript
nil nil
jdt-language-server jdt-language-server
texlab texlab
marksman marksman
tree-sitter tree-sitter
vue-language-server vue-language-server
typescript-language-server typescript-language-server
gopls gopls
rust-analyzer rust-analyzer
# UI # UI
# rofi-bluetooth # rofi-bluetooth
pastel pastel
imagemagick imagemagick
#VPN #VPN
openvpn openvpn
networkmanagerapplet networkmanagerapplet
networkmanager-l2tp networkmanager-l2tp
strongswan strongswan
networkmanager_strongswan networkmanager_strongswan
# Display # Display
scrot scrot
xbanish xbanish
feh feh
brightnessctl brightnessctl
dunst dunst
# Documents # Documents
ripgrep ripgrep
grc grc
texliveFull texliveFull
pandoc pandoc
poppler_utils poppler_utils
#Desktop #Desktop
fluent-reader fluent-reader
unstable.feishin unstable.feishin
libreoffice libreoffice
unstable.signal-desktop unstable.signal-desktop
pinta pinta
zathura zathura
vial vial
thunderbird thunderbird
alacritty alacritty
neovim neovim
fastfetch fastfetch
lazygit lazygit
byzanz byzanz
remmina remmina
obsidian obsidian
# Utils # Utils
speedcrunch speedcrunch
#Unfree #Unfree
discord discord
slack slack
]; ];
@ -177,7 +175,13 @@
programs.man.generateCaches = false; programs.man.generateCaches = false;
xsession.enable = true; xsession.enable = true;
xsession.windowManager.command = if myhostname == "laptop" then "/home/fw/nix/.xinitrc.laptop" else if myhostname == "jobb" then "/home/fw/nix/.xinitrc.jobb" else "/home/fw/nix/.xinitrc"; xsession.windowManager.command =
if myhostname == "laptop" then
"/home/fw/nix/.xinitrc.laptop"
else if myhostname == "jobb" then
"/home/fw/nix/.xinitrc.jobb"
else
"/home/fw/nix/.xinitrc";
home.username = "fw"; home.username = "fw";
home.homeDirectory = "/home/fw"; home.homeDirectory = "/home/fw";

View file

@ -1,41 +1,43 @@
{ config {
, pkgs config,
, ... pkgs,
}: { ...
}:
{
# TODO: Configure your system-wide user settings (groups, etc), add more users as needed. # TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
users = { users = {
defaultUserShell = pkgs.bash; defaultUserShell = pkgs.bash;
groups = { groups = {
ios = {}; ios = { };
}; };
users = { users = {
fw = { fw = {
initialPassword = "password"; initialPassword = "password";
isNormalUser = true; isNormalUser = true;
description = "Fredrik Wastring"; description = "Fredrik Wastring";
extraGroups = [ extraGroups = [
"networkmanager" "networkmanager"
"wheel" "wheel"
"audio" "audio"
"docker" "docker"
"input" "input"
]; ];
openssh.authorizedKeys = { openssh.authorizedKeys = {
keys = [ keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDALsdpwvC0w/Aj+1fWtzJyyWoUrGkdh8o2thVHeQQBNo0D7cmVberYmi4Cv9gWGX6PaElrnOl0KRdGyro2wxOYokSxgk2VgWW67BFITAQAbKyG2NhXXPbhb4jccDo7WH7TtOG8IofuJTPRu1Duda6k4RN0I0CkyAN6LGX+zy49cq0qKf9ijXYhCDYNih3+Fu/ig0aW/SYmsVoUl2VFTWdI5x5/wLvIjTEZhmAtYIeYADaLnom356cFrUysZa++FUujQAz3Ow236BvP95XZdTsqvfWNZFNIpC9VYF72JeIDCs5wDIr0GFmanF2On1nar+jJpoOE8SdHt357p5g/PqXV5TisN2xQRkqVwO9tWtMl4sF84jA4ULnY2gQWv9jErMxymUQ1IwuPUzDDlbRHCtfexAtkBy7wv6xslKAzG1QahvF/btNs5Caj3LN31rgAuxyooCbKGKTeBP3kHPKcz1iupgidfbO/QqVXBRQJTEdGyAKa8hVmLQZZPC/XUhxESAk= fw@fw-nix" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDALsdpwvC0w/Aj+1fWtzJyyWoUrGkdh8o2thVHeQQBNo0D7cmVberYmi4Cv9gWGX6PaElrnOl0KRdGyro2wxOYokSxgk2VgWW67BFITAQAbKyG2NhXXPbhb4jccDo7WH7TtOG8IofuJTPRu1Duda6k4RN0I0CkyAN6LGX+zy49cq0qKf9ijXYhCDYNih3+Fu/ig0aW/SYmsVoUl2VFTWdI5x5/wLvIjTEZhmAtYIeYADaLnom356cFrUysZa++FUujQAz3Ow236BvP95XZdTsqvfWNZFNIpC9VYF72JeIDCs5wDIr0GFmanF2On1nar+jJpoOE8SdHt357p5g/PqXV5TisN2xQRkqVwO9tWtMl4sF84jA4ULnY2gQWv9jErMxymUQ1IwuPUzDDlbRHCtfexAtkBy7wv6xslKAzG1QahvF/btNs5Caj3LN31rgAuxyooCbKGKTeBP3kHPKcz1iupgidfbO/QqVXBRQJTEdGyAKa8hVmLQZZPC/XUhxESAk= fw@fw-nix"
]; ];
}; };
}; };
ios = { ios = {
initialPassword = "password"; initialPassword = "password";
isNormalUser = true; isNormalUser = true;
description = "iOS Integration"; description = "iOS Integration";
group = "ios"; group = "ios";
openssh.authorizedKeys = { openssh.authorizedKeys = {
keys = [ keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIQ9GkzI12xKZyZMmBusLw3UkxdkKEmifxTxSP74YnOXM7SknBUxkpAm0OY3wwbeF8Qht8O/mUM8x1ILpjIUPg2OZh2OslqU+slcoWAoeR8DE6hEwUIrozzlqLkL3JKIE1g2Sx7Gay7QheTJH4e51sXn15Gb3h3ByTa1LyQCWBXP4BPRs4hbVbGu0U1Qe3qav+ubnEthmLbaE+jS6SZb0TkQqKFJIq3skCRI59AkWTCOywhB3CpwP05y/to4EKUDYttf8r8pyfvJ7WMTYHFPCL3uVnutAuIVScHchMwt52kRHD8sZR2/vOM8tOeWB3zIo2XYyCIKlZjm318unqlLv8ol3sfzsSHcEvXLzXxF66/NmpTfjtlnze6hE/GxvjxC4zM7oCf/7o0UNq8VrQto0qUScjqgv5uP7GOitx2dVMGjFfGmXngeBPEIbN+WrPFPUrzylZP5tivrnyzamm7SlGUMlvtKm/G5vurxjtrvpvLKDPvKLAtueTii2xViOXTxZBQw6/mvLyhIrc3+jepgUvTVyKb88Home0WPzedCWPqzkHWgo7wvh4ybZ/JDJv2Gh1vKtKPNUwUbwl2ljJ8DagHK3qxyrfVFo9b+NmR+S21RBzF8CVhP3+MVGRNtsGMxLm4GjvODpcJrCPj/5R6NAWE7sBCP63SvHaLnlaHefsHQ== ios" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIQ9GkzI12xKZyZMmBusLw3UkxdkKEmifxTxSP74YnOXM7SknBUxkpAm0OY3wwbeF8Qht8O/mUM8x1ILpjIUPg2OZh2OslqU+slcoWAoeR8DE6hEwUIrozzlqLkL3JKIE1g2Sx7Gay7QheTJH4e51sXn15Gb3h3ByTa1LyQCWBXP4BPRs4hbVbGu0U1Qe3qav+ubnEthmLbaE+jS6SZb0TkQqKFJIq3skCRI59AkWTCOywhB3CpwP05y/to4EKUDYttf8r8pyfvJ7WMTYHFPCL3uVnutAuIVScHchMwt52kRHD8sZR2/vOM8tOeWB3zIo2XYyCIKlZjm318unqlLv8ol3sfzsSHcEvXLzXxF66/NmpTfjtlnze6hE/GxvjxC4zM7oCf/7o0UNq8VrQto0qUScjqgv5uP7GOitx2dVMGjFfGmXngeBPEIbN+WrPFPUrzylZP5tivrnyzamm7SlGUMlvtKm/G5vurxjtrvpvLKDPvKLAtueTii2xViOXTxZBQw6/mvLyhIrc3+jepgUvTVyKb88Home0WPzedCWPqzkHWgo7wvh4ybZ/JDJv2Gh1vKtKPNUwUbwl2ljJ8DagHK3qxyrfVFo9b+NmR+S21RBzF8CVhP3+MVGRNtsGMxLm4GjvODpcJrCPj/5R6NAWE7sBCP63SvHaLnlaHefsHQ== ios"
]; ];
}; };
}; };
}; };
}; };

22
flake.lock generated
View file

@ -23,43 +23,43 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726989464, "lastModified": 1736373539,
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", "rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.05", "ref": "release-24.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1730327045, "lastModified": 1739055578,
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=", "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "080166c15633801df010977d9d7474b4a6c549d7", "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1730531603, "lastModified": 1739020877,
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
"type": "github" "type": "github"
}, },
"original": { "original": {

319
flake.nix
View file

@ -4,150 +4,213 @@
inputs = { inputs = {
# Nixpkgs # Nixpkgs
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
fw-pkgs.url = "github:fwastring/fwpkgs/main"; fw-pkgs.url = "github:fwastring/fwpkgs/main";
# Home manager # Home manager
home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = { outputs =
self, {
nixpkgs, self,
home-manager, nixpkgs,
nixpkgs-unstable, home-manager,
fw-pkgs, nixpkgs-unstable,
... fw-pkgs,
} @ inputs: let ...
inherit (self) outputs; }@inputs:
system = "x86_64-linux"; let
overlay-unstable = final: prev: { inherit (self) outputs;
system = "x86_64-linux";
overlay-unstable = final: prev: {
unstable = import nixpkgs-unstable { unstable = import nixpkgs-unstable {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
}; };
overlay-fw-pkgs = final: prev: { overlay-fw-pkgs = final: prev: {
fw-pkgs = import fw-pkgs { fw-pkgs = import fw-pkgs {
inherit system; inherit system;
config.allowUnfree = false; config.allowUnfree = false;
}; };
}; };
in { in
# NixOS configuration entrypoint {
# Available through 'nixos-rebuild --flake .#your-hostname' # NixOS configuration entrypoint
nixosConfigurations = { # Available through 'nixos-rebuild --flake .#your-hostname'
laptop = nixpkgs.lib.nixosSystem { nixosConfigurations = {
specialArgs = { laptop = nixpkgs.lib.nixosSystem {
inherit inputs outputs; specialArgs = {
myhostname = "laptop"; inherit inputs outputs;
}; myhostname = "laptop";
modules = [ };
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) modules = [
./maskiner/laptop/configuration.nix (
]; { nixpkgs, ... }:
{
nixpkgs.overlays = [ overlay-unstable ];
}
)
./maskiner/laptop/configuration.nix
];
};
desktop = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "desktop";
};
modules = [
(
{ nixpkgs, ... }:
{
nixpkgs.overlays = [ overlay-unstable ];
}
)
./maskiner/desktop/configuration.nix
];
};
jobb = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "jobb";
};
modules = [ ./maskiner/jobb/configuration.nix ];
};
work-desktop = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "work-desktop";
};
modules = [ ./maskiner/work-desktop/configuration.nix ];
};
lillen = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "lillen";
};
modules = [ ./maskiner/lillen/configuration.nix ];
};
}; };
desktop = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "desktop";
};
modules = [
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
./maskiner/desktop/configuration.nix
];
};
jobb = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "jobb";
};
modules = [./maskiner/jobb/configuration.nix];
};
work-desktop = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "work-desktop";
};
modules = [./maskiner/work-desktop/configuration.nix];
};
lillen = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
myhostname = "lillen";
};
modules = [./maskiner/lillen/configuration.nix];
};
};
# Standalone home-manager configuration entrypoint # Standalone home-manager configuration entrypoint
# Available through 'home-manager --flake .#your-username@your-hostname' # Available through 'home-manager --flake .#your-username@your-hostname'
homeConfigurations = { homeConfigurations = {
"fw@laptop" = home-manager.lib.homeManagerConfiguration { "fw@laptop" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs outputs; inherit inputs outputs;
myhostname = "laptop"; myhostname = "laptop";
}; };
modules = [ modules = [
./config/home.nix ./config/home.nix
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) (
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-fw-pkgs ]; }) { nixpkgs, ... }:
]; {
}; nixpkgs.overlays = [ overlay-unstable ];
"fw@desktop" = home-manager.lib.homeManagerConfiguration { }
pkgs = nixpkgs.legacyPackages.x86_64-linux; )
extraSpecialArgs = { (
inherit inputs outputs; { nixpkgs, ... }:
myhostname = "desktop"; {
}; nixpkgs.overlays = [ overlay-fw-pkgs ];
# > Our main home-manager configuration file < }
modules = [ )
./config/home.nix ];
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) };
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-fw-pkgs ]; }) "fw@desktop" = home-manager.lib.homeManagerConfiguration {
]; pkgs = nixpkgs.legacyPackages.x86_64-linux;
}; extraSpecialArgs = {
"fw@jobb" = home-manager.lib.homeManagerConfiguration { inherit inputs outputs;
pkgs = nixpkgs.legacyPackages.x86_64-linux; myhostname = "desktop";
extraSpecialArgs = { };
inherit inputs outputs; # > Our main home-manager configuration file <
myhostname = "jobb"; modules = [
}; ./config/home.nix
# > Our main home-manager configuration file < (
modules = [ { nixpkgs, ... }:
./config/home.nix {
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) nixpkgs.overlays = [ overlay-unstable ];
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-fw-pkgs ]; }) }
]; )
}; (
"fw@work-desktop" = home-manager.lib.homeManagerConfiguration { { nixpkgs, ... }:
pkgs = nixpkgs.legacyPackages.x86_64-linux; {
extraSpecialArgs = { nixpkgs.overlays = [ overlay-fw-pkgs ];
inherit inputs outputs; }
myhostname = "work-desktop"; )
}; ];
# > Our main home-manager configuration file < };
modules = [ "fw@jobb" = home-manager.lib.homeManagerConfiguration {
./config/home.nix pkgs = nixpkgs.legacyPackages.x86_64-linux;
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) extraSpecialArgs = {
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-fw-pkgs ]; }) inherit inputs outputs;
]; myhostname = "jobb";
}; };
"fw@lillen" = home-manager.lib.homeManagerConfiguration { # > Our main home-manager configuration file <
pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [
extraSpecialArgs = { ./config/home.nix
inherit inputs outputs; (
myhostname = "lillen"; { nixpkgs, ... }:
}; {
# > Our main home-manager configuration file < nixpkgs.overlays = [ overlay-unstable ];
modules = [ }
./config/lill-home.nix )
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) (
({nixpkgs, ... }: { nixpkgs.overlays = [ overlay-fw-pkgs ]; }) { nixpkgs, ... }:
]; {
nixpkgs.overlays = [ overlay-fw-pkgs ];
}
)
];
};
"fw@work-desktop" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {
inherit inputs outputs;
myhostname = "work-desktop";
};
# > Our main home-manager configuration file <
modules = [
./config/home.nix
(
{ nixpkgs, ... }:
{
nixpkgs.overlays = [ overlay-unstable ];
}
)
(
{ nixpkgs, ... }:
{
nixpkgs.overlays = [ overlay-fw-pkgs ];
}
)
];
};
"fw@lillen" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {
inherit inputs outputs;
myhostname = "lillen";
};
# > Our main home-manager configuration file <
modules = [
./config/lill-home.nix
(
{ nixpkgs, ... }:
{
nixpkgs.overlays = [ overlay-unstable ];
}
)
(
{ nixpkgs, ... }:
{
nixpkgs.overlays = [ overlay-fw-pkgs ];
}
)
];
};
}; };
}; };
};
} }

View file

@ -1,37 +1,39 @@
{ config {
, pkgs config,
, ... pkgs,
}: { ...
}:
{
# TODO: Configure your system-wide user settings (groups, etc), add more users as needed. # TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
users = { users = {
defaultUserShell = pkgs.bash; defaultUserShell = pkgs.bash;
groups = { groups = {
ios = {}; ios = { };
}; };
users = { users = {
fw = { fw = {
initialPassword = "password"; initialPassword = "password";
isNormalUser = true; isNormalUser = true;
description = "Fredrik Wastring"; description = "Fredrik Wastring";
extraGroups = [ extraGroups = [
"networkmanager" "networkmanager"
"wheel" "wheel"
"audio" "audio"
"docker" "docker"
"input" "input"
]; ];
openssh.authorizedKeys = { openssh.authorizedKeys = {
keys = [ keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDALsdpwvC0w/Aj+1fWtzJyyWoUrGkdh8o2thVHeQQBNo0D7cmVberYmi4Cv9gWGX6PaElrnOl0KRdGyro2wxOYokSxgk2VgWW67BFITAQAbKyG2NhXXPbhb4jccDo7WH7TtOG8IofuJTPRu1Duda6k4RN0I0CkyAN6LGX+zy49cq0qKf9ijXYhCDYNih3+Fu/ig0aW/SYmsVoUl2VFTWdI5x5/wLvIjTEZhmAtYIeYADaLnom356cFrUysZa++FUujQAz3Ow236BvP95XZdTsqvfWNZFNIpC9VYF72JeIDCs5wDIr0GFmanF2On1nar+jJpoOE8SdHt357p5g/PqXV5TisN2xQRkqVwO9tWtMl4sF84jA4ULnY2gQWv9jErMxymUQ1IwuPUzDDlbRHCtfexAtkBy7wv6xslKAzG1QahvF/btNs5Caj3LN31rgAuxyooCbKGKTeBP3kHPKcz1iupgidfbO/QqVXBRQJTEdGyAKa8hVmLQZZPC/XUhxESAk= fw@fw-nix" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDALsdpwvC0w/Aj+1fWtzJyyWoUrGkdh8o2thVHeQQBNo0D7cmVberYmi4Cv9gWGX6PaElrnOl0KRdGyro2wxOYokSxgk2VgWW67BFITAQAbKyG2NhXXPbhb4jccDo7WH7TtOG8IofuJTPRu1Duda6k4RN0I0CkyAN6LGX+zy49cq0qKf9ijXYhCDYNih3+Fu/ig0aW/SYmsVoUl2VFTWdI5x5/wLvIjTEZhmAtYIeYADaLnom356cFrUysZa++FUujQAz3Ow236BvP95XZdTsqvfWNZFNIpC9VYF72JeIDCs5wDIr0GFmanF2On1nar+jJpoOE8SdHt357p5g/PqXV5TisN2xQRkqVwO9tWtMl4sF84jA4ULnY2gQWv9jErMxymUQ1IwuPUzDDlbRHCtfexAtkBy7wv6xslKAzG1QahvF/btNs5Caj3LN31rgAuxyooCbKGKTeBP3kHPKcz1iupgidfbO/QqVXBRQJTEdGyAKa8hVmLQZZPC/XUhxESAk= fw@fw-nix"
]; ];
}; };
}; };
max = { max = {
initialPassword = "password"; initialPassword = "password";
isNormalUser = true; isNormalUser = true;
description = "Max Huldin"; description = "Max Huldin";
extraGroups = [ extraGroups = [
"audio" "audio"
"docker" "docker"
]; ];
}; };
@ -39,7 +41,7 @@
initialPassword = "password"; initialPassword = "password";
isNormalUser = true; isNormalUser = true;
description = "github runner"; description = "github runner";
extraGroups = [ extraGroups = [
"docker" "docker"
]; ];
}; };

84
jobb/users.nix.bak Normal file
View file

@ -0,0 +1,84 @@
{ config
, pkgs
, ...
}: {
# TODO: Configure your system-wide user settings (groups, etc), add more users as needed.
users = {
defaultUserShell = pkgs.bash;
users = {
ifacts = {
isNormalUser = true;
description = "iFacts";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
docker = {
isNormalUser = true;
description = "Docker User";
extraGroups = [ "docker" ];
packages = with pkgs; [];
};
kube = {
isNormalUser = true;
description = "Kubernetes User";
extraGroups = [];
packages = with pkgs; [];
};
bastian = {
isNormalUser = true;
description = "Bastian Lemström";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
emilian = {
isNormalUser = true;
description = "Emilian Ionascu";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
bob = {
isNormalUser = true;
description = "Bob Haq";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
george = {
isNormalUser = true;
description = "George Caraus";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
max = {
isNormalUser = true;
description = "Max Huldin";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
sebnor = {
isNormalUser = true;
description = "Sebastian Nordin";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [];
};
fw = {
isNormalUser = true;
shell = pkgs.fish;
description = "Fredrik Wastring";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [
neovim
fastfetch
cmake
fzf
];
};
};
};
}

View file

@ -7,48 +7,37 @@
pkgs, pkgs,
myhostname, myhostname,
... ...
}: { }:
# You can import other NixOS modules here {
imports = [ # You can import other NixOS modules here
./hardware-configuration.nix imports = [
../../config/base.nix ./hardware-configuration.nix
../../config/users.nix ../../config/base.nix
]; ../../config/users.nix
];
networking.hostName = myhostname; networking.hostName = myhostname;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
dotnet-sdk_8 dotnet-sdk_8
]; ];
# boot.loader = { services.xserver.dpi = 140;
# efi = {
# canTouchEfiVariables = true;
# };
# grub = {
# enable = true;
# efiSupport = true;
# useOSProber = true;
# };
# };
services = {
openssh = {
enable = true;
ports = [ 55504 ];
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
X11Forwarding = true;
};
extraConfig = ''
AllowUsers fw
'';
};
};
services.xserver.dpi = 140; system.stateVersion = "23.11";
services = {
openssh = {
enable = true;
ports = [55504];
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
X11Forwarding = true;
};
extraConfig = ''
AllowUsers fw
'';
};
};
system.stateVersion = "23.11";
} }

View file

@ -7,22 +7,31 @@
pkgs, pkgs,
myhostname, myhostname,
... ...
}: { }:
{
# You can import other NixOS modules here # You can import other NixOS modules here
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../config/base.nix ../../config/base.nix
../../shared/openssh.nix ../../shared/openssh.nix
../../jobb/users.nix ../../jobb/users.nix
]; ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
kubectl kubectl
azure-cli azure-cli
]; dotnetCorePackages.sdk_8_0_3xx
k3s
cifs-utils
nfs-utils
];
services.k3s.enable = false;
services.openiscsi = {
enable = true;
name = "iqn.2016-04.com.open-iscsi:work-desktop";
};
networking.hostName = myhostname; networking.hostName = myhostname;

View file

@ -5,7 +5,7 @@ let
url = "https://github.com/FredzyW/dmenu.git"; url = "https://github.com/FredzyW/dmenu.git";
rev = "7ec109778998462a6762745c65c47a73283b810e"; rev = "7ec109778998462a6762745c65c47a73283b810e";
}; };
nativeBuildInputs = with pkgs; [ nativeBuildInputs = with pkgs; [
xorg.libX11.dev xorg.libX11.dev
xorg.libXft xorg.libXft
imlib2 imlib2
@ -16,4 +16,3 @@ in
{ {
home.packages = [ dmenu ]; home.packages = [ dmenu ];
} }

View file

@ -1,32 +1,41 @@
{ pkgs, lib, myhostname, ... }: {
pkgs,
lib,
myhostname,
...
}:
let let
dwm = pkgs.dwm.overrideAttrs (old: { dwm = pkgs.dwm.overrideAttrs (old: {
src = builtins.fetchGit { src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwm-conf.git"; url = "https://github.com/FredzyW/dwm-conf.git";
rev = "7e10a592cbfd1cea2b6c5e77c3738716a390eb65"; rev = "7e10a592cbfd1cea2b6c5e77c3738716a390eb65";
}; };
nativeBuildInputs = with pkgs; [ nativeBuildInputs = with pkgs; [
xorg.libX11.dev xorg.libX11.dev
xorg.libXft xorg.libXft
imlib2 imlib2
xorg.libXinerama xorg.libXinerama
]; ];
}); });
dwmblocks = if myhostname == "desktop" then pkgs.dwmblocks.overrideAttrs (old: { dwmblocks =
src = builtins.fetchGit { if myhostname == "desktop" then
url = "https://github.com/FredzyW/dwmblocks.git"; pkgs.dwmblocks.overrideAttrs (old: {
rev = "7c81c55390f2deec2a3804217abe80221ef6f46a"; src = builtins.fetchGit {
}; url = "https://github.com/FredzyW/dwmblocks.git";
}) else pkgs.dwmblocks.overrideAttrs (old: { rev = "7c81c55390f2deec2a3804217abe80221ef6f46a";
src = builtins.fetchGit { };
url = "https://github.com/FredzyW/dwmblocks.git"; })
rev = "ec1b1a61a80e0ba92842e5117736ff977bb6cfa5"; else
}; pkgs.dwmblocks.overrideAttrs (old: {
}); src = builtins.fetchGit {
url = "https://github.com/FredzyW/dwmblocks.git";
rev = "ec1b1a61a80e0ba92842e5117736ff977bb6cfa5";
};
});
in in
{ {
home.packages = [ dwm dwmblocks ]; home.packages = [
dwm
dwmblocks
];
} }

View file

@ -6,15 +6,15 @@
isDefault = true; isDefault = true;
userChrome = '' userChrome = ''
@import "${ @import "${
builtins.fetchGit { builtins.fetchGit {
url = "https://github.com/rockofox/firefox-minima"; url = "https://github.com/rockofox/firefox-minima";
ref = "main"; ref = "main";
rev = "dc40a861b24b378982c265a7769e3228ffccd45a"; # <-- Change this rev = "dc40a861b24b378982c265a7769e3228ffccd45a"; # <-- Change this
} }
}/userChrome.css"; }/userChrome.css";
''; '';
settings = { settings = {
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
}; };
}; };
}; };

View file

@ -1,76 +1,78 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
programs.fish = { programs.fish = {
enable = true; enable = true;
plugins = [ plugins = [
{ {
name = "z"; name = "z";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "jethrokuan"; owner = "jethrokuan";
repo = "z"; repo = "z";
rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb"; rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb";
sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc"; sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc";
}; };
} }
{ {
name = "autopair"; name = "autopair";
src = pkgs.fishPlugins.autopair.src; src = pkgs.fishPlugins.autopair.src;
} }
{ {
name = "foreign-env"; name = "foreign-env";
src = pkgs.fishPlugins.foreign-env.src; src = pkgs.fishPlugins.foreign-env.src;
} }
{ {
name = "fzf"; name = "fzf";
src = pkgs.fishPlugins.fzf.src; src = pkgs.fishPlugins.fzf.src;
} }
{ {
name = "done"; name = "done";
src = pkgs.fishPlugins.done.src; src = pkgs.fishPlugins.done.src;
} }
{ {
name = "sponge"; name = "sponge";
src = pkgs.fishPlugins.sponge.src; src = pkgs.fishPlugins.sponge.src;
} }
{ {
name = "grc"; name = "grc";
src = pkgs.fishPlugins.grc.src; src = pkgs.fishPlugins.grc.src;
} }
]; ];
shellAbbrs = { shellAbbrs = {
homec="nvim ~/nix/config/home.nix"; homec = "nvim ~/nix/config/home.nix";
n="eza -l --no-time --no-permissions --no-user"; n = "eza -l --no-time --no-permissions --no-user";
ls="eza -l --no-time --no-permissions --no-user"; ls = "eza -l --no-time --no-permissions --no-user";
dev="nix develop --command fish"; dev = "nix develop --command fish";
spot="steam-run ~/program/spotify_player"; k = "kubectl";
sc="sc-im"; ka = "kubectl apply -f";
e="nvim"; spot = "steam-run ~/program/spotify_player";
c="ssh"; sc = "sc-im";
home="home-manager switch --flake $HM_DIR"; e = "nvim";
reb="sudo nixos-rebuild switch --flake $SYSTEM_DIR"; c = "ssh";
cam="jira issue create && jira issue assign && jira issue move"; home = "home-manager switch --flake $HM_DIR";
latest="git log | head -1 | awk '{print $2;}' | xsel -ib"; reb = "sudo nixos-rebuild switch --flake $SYSTEM_DIR";
vpnup="nmcli con up 'iFacts VPN'"; cam = "jira issue create && jira issue assign && jira issue move";
vpndown="nmcli con down 'iFacts VPN'"; latest = "git log | head -1 | awk '{print $2;}' | xsel -ib";
}; vpnup = "nmcli con up 'iFacts VPN'";
interactiveShellInit = '' vpndown = "nmcli con down 'iFacts VPN'";
fish_vi_key_bindings };
set fish_greeting # Disable greeting interactiveShellInit = ''
set FLAKE_DIR "/home/fw/nix" fish_vi_key_bindings
set HM_DIR "$FLAKE_DIR#fw@jobb" set fish_greeting # Disable greeting
set SYSTEM_DIR "$FLAKE_DIR#jobb" set FLAKE_DIR "/home/fw/nix"
set -Ux FZF_CTRL_R_OPTS "--reverse" set HM_DIR "$FLAKE_DIR#fw@jobb"
set -Ux FZF_TMUX_OPTS "-p" set SYSTEM_DIR "$FLAKE_DIR#jobb"
set -e GOROOT set -Ux FZF_CTRL_R_OPTS "--reverse"
set -e GOPATH set -Ux FZF_TMUX_OPTS "-p"
set -e GOROOT
set -e GOPATH
# Mocha # Mocha
set -Ux FZF_DEFAULT_OPTS "\ set -Ux FZF_DEFAULT_OPTS "\
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \ --color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \
--color=selected-bg:#45475a \ --color=selected-bg:#45475a \
--multi" --multi"
''; '';
}; };
} }

View file

@ -1,18 +1,27 @@
{ pkgs, lib, myhostname, ... }: {
pkgs,
lib,
myhostname,
...
}:
{ {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font = if myhostname == "laptop" then { font =
# name = "Iosevka Nerd Font Bold"; if myhostname == "laptop" then
# name = "ComicShannsMono Nerd Font Bold"; {
name = "Hack Nerd Font Mono Bold"; # name = "Iosevka Nerd Font Bold";
size = 15; # name = "ComicShannsMono Nerd Font Bold";
} else { name = "Hack Nerd Font Mono Bold";
# name = "Iosevka Nerd Font Bold"; size = 15;
# name = "ComicShannsMono Nerd Font Bold"; }
name = "Hack Nerd Font Mono Bold"; else
size = 12; {
}; # name = "Iosevka Nerd Font Bold";
# name = "ComicShannsMono Nerd Font Bold";
name = "Hack Nerd Font Mono Bold";
size = 12;
};
shellIntegration = { shellIntegration = {
mode = "no-cursor"; mode = "no-cursor";
}; };

View file

@ -1,16 +1,16 @@
{ config, pkgs, ...}: { config, pkgs, ... }:
{ {
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {
AuthenticationMethods = "publickey password"; AuthenticationMethods = "publickey password";
TrustedUserCAKeys = "/etc/ssh/ssh_ca.pub"; TrustedUserCAKeys = "/etc/ssh/ssh_ca.pub";
Banner = "none"; Banner = "none";
PasswordAuthentication = true; PasswordAuthentication = true;
# PasswordAuthentication = false; # PasswordAuthentication = false;
PubKeyAuthentication = true; PubKeyAuthentication = true;
Port = 22; Port = 22;
}; };
}; };
} }

View file

@ -38,7 +38,7 @@
port = 22; port = 22;
user = "ifacts"; user = "ifacts";
identityFile = "/home/fw/.ssh/ifacts-ssh-key"; identityFile = "/home/fw/.ssh/ifacts-ssh-key";
}; };
"kobo" = { "kobo" = {
hostname = "192.168.1.192"; hostname = "192.168.1.192";
port = 22; port = 22;
@ -62,6 +62,18 @@
user = "fw"; user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key"; identityFile = "/home/fw/.ssh/fw-ssh-key";
}; };
"kube02" = {
hostname = "192.168.0.159";
port = 22;
user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key";
};
"kube03" = {
hostname = "192.168.0.182";
port = 22;
user = "fw";
identityFile = "/home/fw/.ssh/fw-ssh-key";
};
"runner01" = { "runner01" = {
hostname = "192.168.0.184"; hostname = "192.168.0.184";
port = 22; port = 22;

View file

@ -4,32 +4,39 @@
enable = true; enable = true;
mouse = true; mouse = true;
plugins = with pkgs; [ plugins = with pkgs; [
tmuxPlugins.sensible tmuxPlugins.sensible
tmuxPlugins.pain-control tmuxPlugins.pain-control
tmuxPlugins.sessionist tmuxPlugins.sessionist
{ {
plugin = tmuxPlugins.continuum; plugin = tmuxPlugins.continuum;
extraConfig = '' extraConfig = ''
set -g @continuum-boot 'on' set -g @continuum-boot 'on'
set -g @continuum-restore 'on' set -g @continuum-restore 'on'
''; '';
} }
{ {
plugin = fw-pkgs.tmuxPlugins.minimal; plugin = fw-pkgs.tmuxPlugins.minimal;
extraConfig = '' extraConfig = ''
bind-key b set-option status bind-key b set-option status
''; '';
} }
]; ];
prefix = "C-a"; prefix = "C-a";
terminal = "alacritty"; terminal = "alacritty";
keyMode = "vi"; keyMode = "vi";
escapeTime = 0; escapeTime = 0;
extraConfig = '' extraConfig = ''
set -g base-index 1 set -g base-index 1
setw -g pane-base-index 1 setw -g pane-base-index 1
set-option -ga terminal-overrides ",alacritty:Tc" set -g default-terminal "xterm-kitty"
set -g terminal-overrides "xterm-kitty"
# true colours support
# set -ga terminal-overrides ",*256col*:Tc"
set -ga terminal-overrides ",xterm-256color:Tc"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
# underscore colours - needs tmux-3.0
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
''; '';
}; };
} }