Merge branch 'main' of github.com:fwastring/nix
This commit is contained in:
commit
82a0300eec
19 changed files with 1047 additions and 565 deletions
186
config/base.nix
186
config/base.nix
|
@ -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";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
176
config/home-desktop.nix
Normal file
176
config/home-desktop.nix
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
# This is your home-manager configuration file
|
||||||
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
myhostname,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../shared/dwm.nix
|
||||||
|
../shared/vscode.nix
|
||||||
|
../shared/dmenu.nix
|
||||||
|
../shared/rofi.nix
|
||||||
|
../shared/kitty.nix
|
||||||
|
../shared/alacritty.nix
|
||||||
|
../shared/tmux.nix
|
||||||
|
../shared/vim.nix
|
||||||
|
../shared/fish.nix
|
||||||
|
../shared/git.nix
|
||||||
|
../shared/nixpkgs.nix
|
||||||
|
../shared/firefox.nix
|
||||||
|
../shared/zathura.nix
|
||||||
|
../shared/lazygit.nix
|
||||||
|
../shared/ssh.nix
|
||||||
|
../shared/aerc.nix
|
||||||
|
../shared/oh-my-posh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [];
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = _: true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# System
|
||||||
|
xsel
|
||||||
|
unzip
|
||||||
|
zip
|
||||||
|
wget
|
||||||
|
alsa-utils
|
||||||
|
upower
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
cmake
|
||||||
|
arion
|
||||||
|
htop
|
||||||
|
pavucontrol
|
||||||
|
procps
|
||||||
|
openssh
|
||||||
|
networkmanager
|
||||||
|
fd
|
||||||
|
bat
|
||||||
|
bluez
|
||||||
|
bluez-tools
|
||||||
|
unstable.betterlockscreen
|
||||||
|
tmux
|
||||||
|
unstable.fzf
|
||||||
|
eza
|
||||||
|
btop
|
||||||
|
thttpd
|
||||||
|
xcolor
|
||||||
|
openssl
|
||||||
|
dig
|
||||||
|
jq
|
||||||
|
|
||||||
|
# Dev
|
||||||
|
unstable.deno
|
||||||
|
unstable.hugo
|
||||||
|
unstable.logstash
|
||||||
|
ngrok
|
||||||
|
tailwindcss
|
||||||
|
nodejs_22
|
||||||
|
gh-f
|
||||||
|
gh
|
||||||
|
yarn
|
||||||
|
plantuml
|
||||||
|
go
|
||||||
|
dotnetCorePackages.sdk_8_0_3xx
|
||||||
|
templ
|
||||||
|
|
||||||
|
#Tools
|
||||||
|
qrencode
|
||||||
|
air
|
||||||
|
k9s
|
||||||
|
git
|
||||||
|
lazydocker
|
||||||
|
kubectl
|
||||||
|
|
||||||
|
#LSP
|
||||||
|
roslyn
|
||||||
|
roslyn-ls
|
||||||
|
python312Packages.python-lsp-server
|
||||||
|
yaml-language-server
|
||||||
|
nil
|
||||||
|
jdt-language-server
|
||||||
|
texlab
|
||||||
|
marksman
|
||||||
|
nodePackages_latest.bash-language-server
|
||||||
|
typescript
|
||||||
|
nodePackages_latest.typescript-language-server
|
||||||
|
nodePackages_latest.vls
|
||||||
|
nodePackages_latest.volar
|
||||||
|
lua-language-server
|
||||||
|
tree-sitter
|
||||||
|
gopls
|
||||||
|
rust-analyzer
|
||||||
|
|
||||||
|
# UI
|
||||||
|
rofi-bluetooth
|
||||||
|
pastel
|
||||||
|
imagemagick
|
||||||
|
|
||||||
|
#VPN
|
||||||
|
openvpn
|
||||||
|
networkmanagerapplet
|
||||||
|
networkmanager-l2tp
|
||||||
|
strongswan
|
||||||
|
|
||||||
|
# Display
|
||||||
|
scrot
|
||||||
|
xbanish
|
||||||
|
feh
|
||||||
|
brightnessctl
|
||||||
|
dunst
|
||||||
|
|
||||||
|
# Documents
|
||||||
|
ripgrep
|
||||||
|
grc
|
||||||
|
texliveFull
|
||||||
|
pandoc
|
||||||
|
poppler_utils
|
||||||
|
|
||||||
|
#Desktop
|
||||||
|
unstable.feishin
|
||||||
|
firefox
|
||||||
|
libreoffice
|
||||||
|
unstable.signal-desktop
|
||||||
|
pinta
|
||||||
|
zathura
|
||||||
|
vial
|
||||||
|
thunderbird
|
||||||
|
alacritty
|
||||||
|
unstable.neovim
|
||||||
|
fastfetch
|
||||||
|
lazygit
|
||||||
|
byzanz
|
||||||
|
remmina
|
||||||
|
obsidian
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
speedcrunch
|
||||||
|
|
||||||
|
#Unfree
|
||||||
|
discord
|
||||||
|
slack
|
||||||
|
];
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.fish.enable = true;
|
||||||
|
programs.man.generateCaches = false;
|
||||||
|
|
||||||
|
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";
|
||||||
|
|
||||||
|
home.username = "fw";
|
||||||
|
home.homeDirectory = "/home/fw";
|
||||||
|
|
||||||
|
home.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
systemd.user.startServices = "sd-switch";
|
||||||
|
}
|
200
config/home.nix
200
config/home.nix
|
@ -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";
|
||||||
|
|
|
@ -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
22
flake.lock
generated
|
@ -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": {
|
||||||
|
|
326
flake.nix
326
flake.nix
|
@ -4,150 +4,220 @@
|
||||||
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 ];
|
||||||
|
};
|
||||||
|
macmini = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
myhostname = "macmini";
|
||||||
|
};
|
||||||
|
modules = [ ./maskiner/macmini/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];
|
|
||||||
};
|
|
||||||
macmini = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
myhostname = "macmini";
|
|
||||||
};
|
|
||||||
modules = [./maskiner/macmini/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 ];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
84
jobb/users.nix.bak
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -7,15 +7,16 @@
|
||||||
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; [
|
||||||
qgis
|
qgis
|
||||||
|
@ -24,34 +25,22 @@
|
||||||
k3sup
|
k3sup
|
||||||
];
|
];
|
||||||
|
|
||||||
# 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";
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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 ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
146
shared/fish.nix
146
shared/fish.nix
|
@ -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"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
120
shared/rofi.nix
120
shared/rofi.nix
|
@ -1,11 +1,119 @@
|
||||||
{ pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs; [
|
# theme =
|
||||||
rofi-calc
|
# let
|
||||||
rofi-pulse-select
|
# inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
];
|
# in {
|
||||||
font = "FiraCode NerdFont 17";
|
# "*" = {
|
||||||
|
# bg-col = mkLiteral "#1e1e2e";
|
||||||
|
# bg-col-light = mkLiteral "#1e1e2e";
|
||||||
|
# border-col = mkLiteral "#1e1e2e";
|
||||||
|
# selected-col = mkLiteral "#1e1e2e";
|
||||||
|
# blue = mkLiteral "#89b4fa";
|
||||||
|
# fg-col = mkLiteral "#cdd6f4";
|
||||||
|
# fg-col2 = mkLiteral "#f38ba8";
|
||||||
|
# grey = mkLiteral "#6c7086";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "element-text, element-icon, mode-switcher" = { # Combine selectors
|
||||||
|
# background-color = mkLiteral "inherit";
|
||||||
|
# text-color = mkLiteral "inherit";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#window" = { # Use # for IDs
|
||||||
|
# height = mkLiteral "360px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# border = mkLiteral "3px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# border-color = mkLiteral "@border-col";
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#mainbox" = {
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#inputbar" = {
|
||||||
|
# children = map mkLiteral ["prompt" "entry"];
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# border-radius = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# padding = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#prompt" = {
|
||||||
|
# background-color = mkLiteral "@blue";
|
||||||
|
# padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# text-color = mkLiteral "@bg-col";
|
||||||
|
# border-radius = mkLiteral "3px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# margin = mkLiteral "20px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#textbox-prompt-colon" = {
|
||||||
|
# expand = false;
|
||||||
|
# str = mkLiteral ":";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#entry" = {
|
||||||
|
# padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# margin = mkLiteral "20px 0px 0px 10px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# text-color = mkLiteral "@fg-col";
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#listview" = {
|
||||||
|
# border = mkLiteral "0px 0px 0px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# padding = mkLiteral "6px 0px 0px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# margin = mkLiteral "10px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# columns = mkLiteral "2"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# lines = mkLiteral "5"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#element" = {
|
||||||
|
# padding = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# text-color = mkLiteral "@fg-col";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#element-icon" = {
|
||||||
|
# size = mkLiteral "25px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "element.selected" = { # Use . for classes
|
||||||
|
# background-color = mkLiteral "@selected-col";
|
||||||
|
# text-color = mkLiteral "@fg-col2";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#mode-switcher" = {
|
||||||
|
# spacing = mkLiteral "0";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#button" = {
|
||||||
|
# padding = mkLiteral "10px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# background-color = mkLiteral "@bg-col-light";
|
||||||
|
# text-color = mkLiteral "@grey";
|
||||||
|
# vertical-align = mkLiteral "0.5";
|
||||||
|
# horizontal-align = mkLiteral "0.5";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "button.selected" = { # Use . for classes
|
||||||
|
# background-color = mkLiteral "@bg-col";
|
||||||
|
# text-color = mkLiteral "@blue";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#message" = {
|
||||||
|
# background-color = mkLiteral "@bg-col-light";
|
||||||
|
# margin = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# padding = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# border-radius = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# "#textbox" = {
|
||||||
|
# padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# margin = mkLiteral "20px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units
|
||||||
|
# text-color = mkLiteral "@blue";
|
||||||
|
# background-color = mkLiteral "@bg-col-light";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue