new beginning

This commit is contained in:
2024-06-30 23:27:40 +02:00
commit ec1513fbf3
52 changed files with 5459 additions and 0 deletions

24
home/work/default.nix Normal file
View File

@ -0,0 +1,24 @@
{
config,
pkgs,
devenv,
...
}: {
home = {
stateVersion = "22.11";
username = "patrick";
homeDirectory = "/home/${config.home.username}";
packages = (pkgs.callPackage ./pkgs.nix {}) ++ [devenv.packages.${pkgs.system}.devenv];
sessionPath = ["~/.local/bin"];
sessionVariables = {
SSH_AUTH_SOCK = "/run/user/1000/ssh-agent";
};
};
xdg.enable = true;
imports = builtins.concatMap import [
./programs
./services
];
}

42
home/work/pkgs.nix Normal file
View File

@ -0,0 +1,42 @@
{pkgs, ...}:
with pkgs; [
age # Modern encryption tool with small explicit keys
arandr # simple GUI for xrandr
atuin
dig # dns command-line tool
fd # "find" for files
geckodriver # remote controll firefox
helix # modal editor
htop # process monitor
hyperfine # command-line benchmarking tool
i3lock # screen locker
imagemagick # selection screenshot stuff
just # just a command runner
keepassxc # password manager
lazygit # git client
libnotify # notify-send command
libsecret
libreoffice
linphone
logseq # note taking utility
mtr # traceroute
mumble # voice call client
ncdu # disk space info (a better du)
neovim-unwrapped # best code editor on the planet
networkmanagerapplet # systray applet for NetworkManager
nitrogen # wallpapger manager
nushellFull # A modern shell written in Rust
ouch # painless compression and decompression for your terminal
pavucontrol # pulseaudio volume control
playerctl # music player controller
podman-compose # podman manager
restic # incremental backup tool
ripgrep # fast grep
rocketchat-desktop # company chat
sops # Mozilla sops (Secrets OPerationS) is an editor of encrypted files
thunderbird # email client
xclip # clipboard support
xsel # clipboard support (also for neovim)
zeal # offline documentation browser
zellij # A terminal workspace with batteries included
]

View File

@ -0,0 +1,100 @@
{...}: {
programs.alacritty = {
enable = true;
settings = {
live_config_reload = true;
env.TERM = "xterm-256color";
bell.duration = 0;
cursor.style = "Block";
scrolling = {
history = 10000;
multiplier = 3;
};
window = {
decorations = "full";
dynamic_title = false;
opacity = 0.9;
dimensions = {
columns = 0;
lines = 0;
};
padding = {
x = 2;
y = 2;
};
};
font = {
size = 11.0;
normal = {
family = "Comic Mono Nerd Font";
style = "Regular";
};
bold = {
family = "Comic Mono Nerd Font";
style = "Bold";
};
italic = {
family = "Comic Mono Nerd Font";
style = "Italic";
};
};
mouse.bindings = [
{
mouse = "Middle";
action = "PasteSelection";
}
];
colors = {
primary = {
background = "0x000000";
foreground = "0xeaeaea";
};
normal = {
black = "0x000000";
red = "0xd54e53";
green = "0xb9ca4a";
yellow = "0xe6c547";
blue = "0x7aa6da";
magenta = "0xc397d8";
cyan = "0x70c0ba";
white = "0xffffff";
};
bright = {
black = "0x666666";
red = "0xff3334";
green = "0x9ec400";
yellow = "0xe7c547";
blue = "0x7aa6da";
magenta = "0xb77ee0";
cyan = "0x54ced6";
white = "0xffffff";
};
dim = {
black = "0x333333";
red = "0xf2777a";
green = "0x99cc99";
yellow = "0xffcc66";
blue = "0x6699cc";
magenta = "0xcc99cc";
cyan = "0x66cccc";
white = "0xdddddd";
};
};
};
};
}

View File

@ -0,0 +1,132 @@
{...}: let
eDPId = "00ffffffffffff0006af3d5700000000001c0104a51f1178022285a5544d9a270e505400000001010101010101010101010101010101b43780a070383e401010350035ae100000180000000f0000000000000000000000000020000000fe0041554f0a202020202020202020000000fe004231343048414e30352e37200a0070";
homeLGId = "00ffffffffffff001e6df976f2190200071b010380502278eaca95a6554ea1260f5054256b807140818081c0a9c0b300d1c08100d1cfcd4600a0a0381f4030203a001e4e3100001a295900a0a038274030203a001e4e3100001a000000fd00284b5a5a18000a202020202020000000fc004c4720554c545241574944450a0154020323f12309070747100403011f13128301000065030c001000681a00000101284b008c0ad08a20e02d10103e96001e4e31000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045";
homeFujitsuId = "00ffffffffffff001ab3f4070101010130150103802f1e782ac665a059589d270e5054a54b008180950001010101010101010101010121399030621a274068b03600da281100001c000000fc00423232572d36204c45440a2020000000fd00384c1e5210000a202020202020000000ff00595633553136343932330a20200065";
officeFirstId = "00ffffffffffff0022640565000000002d15010380341d78eaeed5a555489b26125054bfef80d1c0b300a9409500904081808140714f023a801871382d40582c450009252100001e000000ff0031323334353637383930313233000000fd00384b1e5312000a202020202020000000fc00484c3234394450420a2020202000c1";
officeFirstAltId = "00ffffffffffff0022640565000000002d15010380341d78eaeed5a555489b26125054bfef80d1c0b300a9409500904081808140714f023a801871382d40582c450009252100001e000000ff0031323334353637383930313233000000fd00384b1e5310000a202020202020000000fc00484c3234394450420a2020202000c3";
officeSecondId = "00ffffffffffff0022640565000000002d15010380341d78eaeed5a555489b26125054bfef80d1c0b300a9409500904081808140714f023a801871382d40582c450009252100001e000000ff0031323334353637383930313233000000fd00384b1e5312000a202020202020000000fc00484c3234394450420a2020202000c1";
officeSecondAltId = "00ffffffffffff0022640565000000002d15010380341d78eaeed5a555489b26125054bfef80d1c0b300a9409500904081808140714f023a801871382d40582c450009252100001e000000ff0031323334353637383930313233000000fd00384b1e5310000a202020202020000000fc00484c3234394450420a2020202000c3";
in {
programs.autorandr = {
enable = true;
hooks = {
predetect = {};
preswitch = {};
postswitch = {};
};
profiles = {
"laptop" = {
fingerprint = {
eDP-1 = eDPId;
};
config = {
eDP-1 = {
crtc = 1;
mode = "1920x1080";
position = "0x0";
rate = "60.03";
};
};
};
"home" = {
fingerprint = {
eDP-1 = eDPId;
DP-3 = homeLGId;
DP-5 = homeFujitsuId;
};
config = {
eDP-1 = {
crtc = 1;
mode = "1920x1080";
position = "0x0";
rate = "60.03";
};
DP-3 = {
primary = true;
crtc = 0;
mode = "2560x1080";
position = "1920x0";
rate = "59.98";
};
DP-5 = {
crtc = 2;
mode = "1680x1050";
position = "4480x30";
rate = "59.95";
};
};
};
"office" = {
fingerprint = {
eDP-1 = eDPId;
DP-3 = officeFirstId;
DP-5 = officeSecondId;
};
config = {
eDP-1 = {
crtc = 1;
mode = "1920x1080";
position = "0x0";
rate = "60.03";
};
DP-3 = {
crtc = 2;
mode = "1920x1080";
position = "3840x0";
rate = "60.00";
};
DP-5 = {
primary = true;
crtc = 0;
mode = "1920x1080";
position = "1920x0";
rate = "60.00";
};
};
};
"office-alt" = {
fingerprint = {
eDP-1 = eDPId;
DP-4 = officeFirstAltId;
DP-7 = officeSecondAltId;
};
config = {
eDP-1 = {
crtc = 1;
mode = "1920x1080";
position = "0x0";
rate = "60.03";
};
DP-4 = {
crtc = 2;
mode = "1920x1080";
position = "3840x0";
rate = "60.00";
};
DP-7 = {
primary = true;
crtc = 0;
mode = "1920x1080";
position = "1920x0";
rate = "60.00";
};
};
};
};
};
}

View File

@ -0,0 +1,18 @@
{pkgs, ...}: {
programs.bash = {
enable = true;
shellAliases = {
ls = "eza";
jssh = "ssh-wrapper jssh";
jrescue = "ssh-wrapper jrescue";
rescue = "ssh-wrapper rescue";
};
initExtra = ''
source ${pkgs.blesh}/share/blesh/ble.sh
export PATH=$PATH:~/.local/bin
export SSH_AUTH_SOCK=/run/user/1000/ssh-agent
'';
};
}

View File

@ -0,0 +1,97 @@
[
./alacritty
./autorandr
./bash
./firefox
./rofi
./tmate
./xresources
./hyprland
{
programs = {
home-manager.enable = true;
bat.enable = true;
jq.enable = true;
gpg.enable = true;
swaylock.enable = true;
eza = {
enable = true;
icons = true;
git = true;
};
waybar = {
enable = true;
settings.mainbar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces"];
modules-right = ["pulseaudio" "network" "cpu" "memory" "temperature" "battery" "clock" "tray"];
};
};
atuin = {
enable = true;
flags = ["--disable-up-arrow"];
settings = {
enter_accept = false;
};
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
fzf = {
enable = true;
defaultCommand = "fd --type file --follow"; # FZF_DEFAULT_COMMAND
defaultOptions = ["--height 20%"]; # FZF_DEFAULT_OPTS
fileWidgetCommand = "fd --type file --follow"; # FZF_CTRL_T_COMMAND
};
zoxide = {
enable = true;
# nushell moves faster than zoxide updates
enableNushellIntegration = false;
options = ["--cmd" "cd"];
};
starship = {
enable = true;
# nushell moves faster than starship updates
enableNushellIntegration = false;
settings = {
add_newline = false;
};
};
git = {
enable = true;
userName = "Patrick Michl";
userEmail = "patrick.michl@hetzner.com";
signing = {
key = "BFE0ACEE21CD5EB0";
signByDefault = true;
};
extraConfig = {
pull = {
rebase = true;
};
merge = {
tool = "nvim";
};
mergetool = {
prompt = false;
};
};
};
};
}
]

View File

@ -0,0 +1,140 @@
{
pkgs,
lib,
stdenv,
specialArgs,
...
}: let
extensions = with specialArgs.ff-addons; [
bitwarden
darkreader
i-dont-care-about-cookies
privacy-badger
ublock-origin
tree-style-tab
tridactyl
];
customChrome = ''
@-moz-document url(chrome://browser/content/browser.xhtml) {
/* tabs on bottom of window */
/* requires that you set
* toolkit.legacyUserProfileCustomizations.stylesheets = true
* in about:config
*/
#main-window body { flex-direction: column-reverse !important; }
#navigator-toolbox { flex-direction: column-reverse !important; }
#urlbar {
top: unset !important;
bottom: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
box-shadow: none !important;
display: flex !important;
flex-direction: column !important;
}
#urlbar-input-container {
order: 2;
}
#urlbar > .urlbarView {
order: 1;
border-bottom: 1px solid #666;
}
#urlbar-results {
display: flex;
flex-direction: column-reverse;
}
.search-one-offs { display: none !important; }
.tab-background { border-top: none !important; }
#navigator-toolbox::after { border: none; }
#TabsToolbar .tabbrowser-arrowscrollbox,
#tabbrowser-tabs, .tab-stack { min-height: 28px !important; }
.tabbrowser-tab { font-size: 80%; }
.tab-content { padding: 0 5px; }
.tab-close-button .toolbarbutton-icon { width: 12px !important; height: 12px !important; }
toolbox[inFullscreen=true] { display: none; }
}
'';
userChrome = customChrome;
# ~/.mozilla/firefox/PROFILE_NAME/prefs.js | user.js
settings = {
"app.normandy.first_run" = false;
"app.shield.optoutstudies.enabled" = false;
# disable updates (pretty pointless with nix)
"app.update.channel" = "default";
"browser.contentblocking.category" = "standard"; # "strict"
"browser.ctrlTab.recentlyUsedOrder" = false;
"browser.download.viewableInternally.typeWasRegistered.svg" = true;
"browser.download.viewableInternally.typeWasRegistered.webp" = true;
"browser.download.viewableInternally.typeWasRegistered.xml" = true;
"browser.search.region" = "DE";
"browser.shell.checkDefaultBrowser" = false;
"browser.tabs.loadInBackground" = true;
"browser.urlbar.placeholderName" = "EnteEnteLauf";
"browser.urlbar.showSearchSuggestionsFirst" = false;
# disable all the annoying quick actions
"browser.urlbar.quickactions.enabled" = false;
"browser.urlbar.quickactions.showPrefs" = false;
"browser.urlbar.shortcuts.quickactions" = false;
"browser.urlbar.suggest.quickactions" = false;
"distribution.searchplugins.defaultLocale" = "en-US";
"doh-rollout.balrog-migration-done" = true;
"doh-rollout.doneFirstRun" = true;
"general.useragent.locale" = "en-US";
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"extensions.extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"extensions.update.enabled" = false;
"extensions.webcompat.enable_picture_in_picture_overrides" = true;
"extensions.webcompat.enable_shims" = true;
"extensions.webcompat.perform_injections" = true;
"extensions.webcompat.perform_ua_overrides" = true;
"privacy.donottrackheader.enabled" = true;
# Yubikey
"security.webauth.u2f" = true;
"security.webauth.webauthn" = true;
"security.webauth.webauthn_enable_softtoken" = false;
"security.webauth.webauthn_enable_usbtoken" = true;
"network.dns.ipv4OnlyDomains" = "google.com";
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"layout.word_select.stop_at_punctuation" = false;
};
in {
programs.firefox = {
enable = true;
package = pkgs.firefox-bin;
profiles = {
default = {
isDefault = true;
id = 0;
inherit extensions settings userChrome;
};
};
webapps = {
rocket-chat = {
url = "https://chat.hetzner.company";
id = 1;
genericName = "Internet Messenger";
categories = ["Network" "InstantMessaging"];
};
};
};
}

View File

@ -0,0 +1,145 @@
{pkgs, ...}: {
wayland.windowManager.hyprland = let
locker = "${pkgs.swaylock}/bin/swaylock";
set-dpms = "${pkgs.hyprland}/bin/hyprctl dispatcher dpms";
locked-dpms = pkgs.writeShellScript "locked-dpms.sh" ''
${pkgs.swayidle}/bin/swayidle -w \
timeout 10 'if pgrep -x swaylock; then ${set-dpms} off; fi' \
resume '${set-dpms} on'
'';
idle-script = pkgs.writeShellScript "idle-lock.sh" ''
${pkgs.swayidle}/bin/swayidle -w \
timeout 300 '${locker} -f' \
timeout 330 '${set-dpms} off' \
resume '${set-dpms} on'
'';
in {
enable = true;
settings = {
"$mod" = "SUPER";
exec-once = [
"${pkgs.waybar}/bin/waybar"
"${pkgs.mako}/bin/mako"
idle-script
locked-dpms
];
monitor = [
"eDP-1,1920x1080,0x0,1.333333" # Laptop screen
"desc:LG Electronics LG ULTRAWIDE 0x000219F2,2560x1080,1440x0,1" # Primary @home
# "desc:Fujitsu Siemens Computers GmbH B22W-6 LED YV3U164923,1680x1050,4000x0,1" # Secondary @home
",preferred,auto,1" # Automatically configure everything else
];
device = [
{
name = "razer-razer-blackwidow-chroma";
kb_layout = "de";
}
{
name = "at-translated-set-2-keyboard";
kb_layout = "de";
}
];
input = {
kb_layout = "us,de";
follow_mouse = 1;
};
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 1;
layout = "dwindle";
allow_tearing = false;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
};
decoration = {
rounding = 5;
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
blur = {
enabled = true;
size = 3;
passes = 1;
};
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 3, myBezier"
"windowsOut, 1, 3, default, popin 80%"
"border, 1, 3, default"
"borderangle, 1, 3, default"
"fade, 1, 3, default"
"workspaces, 1, 3, default"
];
};
bind =
[
", PRINT, exec, ${pkgs.hyprshot}/bin/hyprshot -m region --clipboard-only"
"$mod, return, exec, ${pkgs.alacritty}/bin/alacritty"
"$mod, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun"
"$mod SHIFT, Q, killactive, "
"$mod, L, exec, ${locker}"
"$mod, V, togglefloating, "
"$mod, F, fullscreen, 1"
"$mod, P, pseudo, # dwindle"
"$mod, J, togglesplit, # dwindle"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod, S, togglespecialworkspace, magic"
"$mod SHIFT, S, movetoworkspace, special:magic"
]
++ builtins.concatLists (builtins.genList (
x: let
num = builtins.toString (x + 1);
in [
"$mod, ${num}, workspace, ${num}"
"$mod SHIFT, ${num}, movetoworkspace, ${num}"
]
)
9);
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
bindl = [
"$mod SHIFT, L, exec, ${locker}"
];
windowrulev2 = [
# KeePassXC
"float,class:(org.keepassxc.KeePassXC)"
"size 800 600,class:(org.keepassxc.KeePassXC)"
# Thunderbird
"float,class:thunderbird" # Float all thunderbird windows
"tile,class:thunderbird,title:^(Write)" # Don't float the new mail window
"tile,class:thunderbird,title:(Mozilla Thunderbird)$" # Also dont float the main window
"move 100%-606 30,class:thunderbird" # The rest is the notification window. Float it in the top right corner
"noinitialfocus,class:thunderbird,title:^()$" # Make it not pull focus
];
misc = {
mouse_move_enables_dpms = true;
key_press_enables_dpms = true;
};
};
};
}

View File

@ -0,0 +1,7 @@
{pkgs, ...}: {
programs.rofi = {
enable = true;
terminal = "${pkgs.alacritty}/bin/alacritty";
theme = ./theme.rafi;
};
}

View File

@ -0,0 +1,168 @@
/**
* rofi -dump-theme output.
* Rofi version: 1.7.5
**/
* {
red: rgba ( 220, 50, 47, 100 % );
selected-active-foreground: rgba ( 0, 142, 212, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
separatorcolor: rgba ( 0, 54, 66, 100 % );
urgent-foreground: rgba ( 218, 66, 129, 100 % );
alternate-urgent-background: rgba ( 0, 43, 55, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
background-color: transparent;
border-color: rgba ( 0, 43, 55, 100 % );
normal-background: rgba ( 0, 43, 55, 100 % );
selected-urgent-background: rgba ( 0, 54, 66, 100 % );
alternate-active-background: rgba ( 0, 43, 55, 100 % );
spacing: 2;
blue: rgba ( 38, 139, 210, 100 % );
alternate-normal-foreground: var(foreground);
urgent-background: rgba ( 0, 43, 55, 100 % );
selected-normal-foreground: rgba ( 129, 147, 150, 100 % );
active-foreground: rgba ( 0, 142, 212, 100 % );
background: rgba ( 0, 43, 55, 100 % );
selected-active-background: rgba ( 0, 54, 66, 100 % );
active-background: rgba ( 0, 43, 55, 100 % );
selected-normal-background: rgba ( 0, 54, 66, 100 % );
alternate-normal-background: rgba ( 0, 43, 55, 100 % );
foreground: rgba ( 129, 147, 150, 100 % );
selected-urgent-foreground: rgba ( 218, 66, 129, 100 % );
normal-foreground: var(foreground);
alternate-urgent-foreground: var(urgent-foreground);
alternate-active-foreground: var(active-foreground);
}
element {
padding: 1px ;
spacing: 5px ;
border: 0;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-text {
background-color: transparent;
highlight: inherit;
text-color: inherit;
}
element-icon {
background-color: transparent;
size: 1.0000em ;
text-color: inherit;
}
window {
padding: 10;
background-color: var(background);
border: 1;
}
mainbox {
padding: 0;
border: 0;
}
message {
padding: 1px ;
border-color: var(separatorcolor);
border: 2px dash 0px 0px ;
}
textbox {
text-color: var(foreground);
}
listview {
padding: 2px 0px 0px ;
scrollbar: true;
border-color: var(separatorcolor);
spacing: 2px ;
fixed-height: 0;
border: 2px dash 0px 0px ;
}
scrollbar {
width: 4px ;
padding: 0;
handle-width: 8px ;
border: 0;
handle-color: var(normal-foreground);
}
sidebar {
border-color: var(separatorcolor);
border: 2px dash 0px 0px ;
}
button {
spacing: 0;
text-color: var(normal-foreground);
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
num-filtered-rows {
expand: false;
text-color: Gray;
}
num-rows {
expand: false;
text-color: Gray;
}
textbox-num-sep {
expand: false;
str: "/";
text-color: Gray;
}
inputbar {
padding: 1px ;
spacing: 0px ;
text-color: var(normal-foreground);
children: [ "prompt","textbox-prompt-colon","entry","num-filtered-rows","textbox-num-sep","num-rows","case-indicator" ];
}
case-indicator {
spacing: 0;
text-color: var(normal-foreground);
}
entry {
text-color: var(normal-foreground);
spacing: 0;
placeholder-color: Gray;
placeholder: "Type to filter";
}
prompt {
spacing: 0;
text-color: var(normal-foreground);
}
textbox-prompt-colon {
margin: 0px 0.3000em 0.0000em 0.0000em ;
expand: false;
str: ":";
text-color: inherit;
}

View File

@ -0,0 +1,36 @@
set -g history-limit 50000
set -g default-terminal "screen-256color"
set -g mouse on
set -sg escape-time 50
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
bind h split-window -h
bind v split-window -v
unbind '"'
unbind %
bind r source-file ~/.tmate.conf
bind -n M-Left select-window -p
bind -n M-Right select-window -n
set-option -g allow-rename off
bind -n C-t new-window
bind -n M-0 select-window -T -t 0
bind -n M-1 select-window -T -t 1
bind -n M-2 select-window -T -t 2
bind -n M-3 select-window -T -t 3
bind -n M-4 select-window -T -t 4
bind -n M-5 select-window -T -t 5
bind -n M-6 select-window -T -t 6
bind -n M-7 select-window -T -t 7
bind -n M-8 select-window -T -t 8
bind -n M-9 select-window -T -t 9
set -g status-style bg='#44475a',fg='#bd93f9'
set -g status-interval 1
set -g message-style bg='#44475a',fg='#8be9fd'
set-window-option -g window-status-style fg='#bd93f9',bg=default
set-window-option -g window-status-current-style fg='#ff79c6',bg='#282a36'
set -g window-status-current-format "#[fg=#44475a]#[bg=#bd93f9]#[fg=#f8f8f2]#[bg=#bd93f9] #I #W #[fg=#bd93f9]#[bg=#44475a]"
set -g window-status-format "#[fg=#f8f8f2]#[bg=#44475a]#I #W #[fg=#44475a]"

View File

@ -0,0 +1,12 @@
{pkgs, ...}: {
programs.tmate = {
enable = true;
host = "tmate.hetzner.company";
port = 10022;
# dsaFingerprint = "SHA256:YspEXM7hBFT+zEcbq9St+V9sj2TCE6lMczdIn+jeZUU";
# rsaFingerprint = "SHA256:pCOEObNY3ihLZn2k6iIgOUDXS8PX10qz1JPBidrEfgA";
rsaFingerprint = "SHA256:qILAxjmkvwkqPolJ99qFcnzLg/V5UlfB3q/Z1CDvuWY";
dsaFingerprint = "SHA256:zGqypd4klAGEGFYPeGlVMy9KJdycFA14rNpk3eD2VZo";
extraConfig = builtins.readFile ./.tmate.conf;
};
}

View File

@ -0,0 +1,24 @@
{...}: {
xresources.properties = {
"XCursor.size" = 16;
"*background" = "#1D1F28";
"*foreground" = "#FDFDFD";
"*cursorColor" = "#C574DD";
"*color0" = "#282A36";
"*color1" = "#F37F97";
"*color2" = "#5ADECD";
"*color3" = "#F2A272";
"*color4" = "#8897F4";
"*color5" = "#C574DD";
"*color6" = "#79E6F3";
"*color7" = "#FDFDFD";
"*color8" = "#414458";
"*color9" = "#FF4971";
"*color10" = "#18E3C8";
"*color11" = "#FF8037";
"*color12" = "#556FFF";
"*color13" = "#B043D1";
"*color14" = "#3FDCEE";
"*color15" = "#BEBEC1";
};
}

View File

@ -0,0 +1,3 @@
[
./ssh-agent
]

View File

@ -0,0 +1,5 @@
{...}: {
services.ssh-agent = {
enable = true;
};
}