Merge branch 'main' of github.com:fwastring/nix

This commit is contained in:
fwastring 2025-04-07 14:21:35 +02:00
commit 82a0300eec
19 changed files with 1047 additions and 565 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,11 +1,119 @@
{ pkgs, lib, ... }:
{ config, pkgs, lib, ... }:
{
programs.rofi = {
enable = true;
plugins = with pkgs; [
rofi-calc
rofi-pulse-select
];
font = "FiraCode NerdFont 17";
# theme =
# let
# inherit (config.lib.formats.rasi) mkLiteral;
# in {
# "*" = {
# 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";
# };
# };
};
}

View file

@ -38,7 +38,7 @@
port = 22;
user = "ifacts";
identityFile = "/home/fw/.ssh/ifacts-ssh-key";
};
};
"kobo" = {
hostname = "192.168.1.192";
port = 22;
@ -62,6 +62,18 @@
user = "fw";
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" = {
hostname = "192.168.0.184";
port = 22;

View file

@ -4,32 +4,39 @@
enable = true;
mouse = true;
plugins = with pkgs; [
tmuxPlugins.sensible
tmuxPlugins.pain-control
tmuxPlugins.sessionist
{
plugin = tmuxPlugins.continuum;
extraConfig = ''
set -g @continuum-boot 'on'
set -g @continuum-restore 'on'
'';
}
{
plugin = fw-pkgs.tmuxPlugins.minimal;
extraConfig = ''
bind-key b set-option status
'';
}
tmuxPlugins.sensible
tmuxPlugins.pain-control
tmuxPlugins.sessionist
{
plugin = tmuxPlugins.continuum;
extraConfig = ''
set -g @continuum-boot 'on'
set -g @continuum-restore 'on'
'';
}
{
plugin = fw-pkgs.tmuxPlugins.minimal;
extraConfig = ''
bind-key b set-option status
'';
}
];
prefix = "C-a";
terminal = "alacritty";
keyMode = "vi";
escapeTime = 0;
escapeTime = 0;
extraConfig = ''
set -g base-index 1
setw -g pane-base-index 1
set-option -ga terminal-overrides ",alacritty:Tc"
set -g base-index 1
setw -g pane-base-index 1
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'
'';
};
}