Compare commits

..

89 commits

Author SHA1 Message Date
Stefan Schwarz
b104bba6f2 up 2025-05-06 12:46:51 +02:00
Stefan Schwarz
aaf916de75 fix 2025-01-20 09:03:31 +01:00
Stefan Schwarz
359b7cf8d0 up 2024-11-15 11:05:08 +01:00
Stefan Schwarz
599d34d9cb updates 2024-10-08 13:06:54 +02:00
Stefan Schwarz
2a39913fde feat: remove unused helm2 2024-04-22 08:40:54 +02:00
Stefan Schwarz
3e522cebfd up 2024-03-15 11:16:02 +01:00
Stefan Schwarz
44ed4f7a5c fix lorri confi 2024-03-15 11:15:51 +01:00
Stefan Schwarz
5446d3aace libvirt uefi
still not working
2024-03-15 11:15:40 +01:00
Stefan Schwarz
6a911794f1 switch notify daemon 2024-03-15 11:15:14 +01:00
Stefan Schwarz
4eb2a0dd1b fix(nagstamon): working on wayland 2024-01-03 16:48:00 +01:00
Stefan Schwarz
d492658ecc fix(slack): enable screenshare 2024-01-03 16:20:44 +01:00
Stefan Schwarz
ddf25a45b0 fix nixos 23.11 2024-01-03 16:20:36 +01:00
Stefan Schwarz
49ae5f3981 work 2024-01-03 15:26:33 +01:00
Stefan Schwarz
698e0b6ec2 feat(kubectx): test kubectl 2023-03-24 08:46:34 +01:00
Stefan Schwarz
2622bdb144 feat(yubikey): add support 2023-03-24 08:44:56 +01:00
Stefan Schwarz
210bc59571 feat(wezterm): add wezterm 2023-03-24 08:44:33 +01:00
Stefan Schwarz
a4bff2a186 feat(sway): lightmode 2023-03-24 08:44:05 +01:00
Stefan Schwarz
18902b41c3 chore: remove x 2023-03-03 10:38:23 +01:00
Stefan Schwarz
c426807bce fix(configuration): allow broken kerberos package 2023-03-03 10:35:53 +01:00
Stefan Schwarz
2660ebc7af feat(desktop): desktop changes 2023-03-03 10:35:35 +01:00
Stefan Schwarz
58a0d3f1d8 feat(admin): add nmap and ipcalc 2023-03-03 10:35:21 +01:00
Stefan Schwarz
e361a43b48 feat(golang): update to 1.19 2023-03-03 10:34:48 +01:00
Stefan Schwarz
f8690d90e6 feat(network): add openconnect vpn support 2023-03-03 10:34:23 +01:00
Stefan Schwarz
959c3c0fe9 feat(work): add google cloud sdk plugins 2023-03-03 10:34:11 +01:00
Stefan Schwarz
f40031327f fix(nagstamon): fix package and update to 3.10 2023-03-03 10:33:39 +01:00
Stefan Schwarz
b528bbd88f feat(hardware): framework 2023-03-03 10:33:29 +01:00
Stefan Schwarz
0d4265f5f1 feat(alacritty): smaller fontsize 2023-03-03 10:33:20 +01:00
Stefan Schwarz
5f1cd851b9 fix(status): use correct battery number for framework 2023-03-03 10:33:08 +01:00
Stefan Schwarz
458ce0ccf6 fix(sway): remove cursor theme resetting (breaks it) 2023-03-03 10:32:53 +01:00
Stefan Schwarz
ed4af6d356 fix(sway): keybindings 2023-02-20 10:55:34 +01:00
Stefan Schwarz
b4a40fa36d feat(wallpaper): fix wallpaper 2023-02-20 10:55:17 +01:00
75289b6cd3 x 2022-09-30 09:41:10 +02:00
efab382ce2 use always latest pyright
required for up2date with python
2022-08-12 08:19:33 +02:00
e92cf8f9cd ignore dupes and leading spaces in bash history 2022-08-12 08:19:17 +02:00
937bf0572e add memcache support to python 2022-08-04 10:07:33 +02:00
47b85bcad9 add terraform language server 2022-08-01 15:43:39 +02:00
665f3d1b76 add terraform to default setup 2022-08-01 15:43:04 +02:00
788f405ed4 remove kerberos from nagstamon 2022-07-13 08:39:02 +02:00
cfd000a8e7 Revert "remove i3config"
This reverts commit 9d44ab40b1.
2022-06-28 19:02:12 +02:00
820e327ea3 install ferdi for slack 2022-06-28 19:02:12 +02:00
3efdeb2f4d use stable keepassxc
unstable wont start on wayland
2022-06-02 17:10:03 +02:00
46d58735cc nixos 22.05 fixes 2022-06-02 10:59:21 +02:00
125c5fe0a5 use latest kernel 2022-06-02 10:58:48 +02:00
125778ba15 start cloudstation on work machine 2022-06-02 10:58:26 +02:00
91d385c417 remove redshift (22.05) 2022-06-02 10:58:14 +02:00
191ce8ed67 fix typo 2022-06-02 10:58:07 +02:00
0cac1911ce add restic to base packages 2022-05-02 11:17:04 +02:00
78094a6118 use stable alacritty 2022-05-02 08:34:47 +02:00
3299de933c update for nixpkgs 2022-04-06 13:26:10 +02:00
1c594a1a0b update nagstamon to 3.8 2022-04-06 12:11:10 +02:00
a9be78fd11 fix thunderbird starting firefox remotely 2022-04-05 16:02:40 +02:00
17838d5715 update to latest go 2022-04-04 11:48:50 +02:00
4446e0c151 add alias for docker-compose 2022-04-04 11:48:43 +02:00
f03c408d70 add umlaut layer with wtype 2022-03-21 13:48:10 +01:00
8b6b8f07ff fix cloudstation startup 2022-03-21 13:47:46 +01:00
ffb330106c fix battery default icon 2022-03-03 14:19:37 +01:00
140df0d258 allow systemd user services to access keyring 2022-03-03 14:19:37 +01:00
437196a6e0 fix current alacritty version 2022-03-03 14:19:37 +01:00
b8273ae550 document sections 2022-03-03 14:19:37 +01:00
eb792b55e5 cleanup private config 2022-02-26 02:17:36 +01:00
490ac47d46 cleanup private config 2022-02-26 02:15:47 +01:00
e19e87289f fix qt5 styles 2022-02-26 02:15:19 +01:00
0856dd6118 fix vim fzf 2022-02-26 02:14:17 +01:00
0b615ebd34 fix notcoal package 2022-02-26 02:13:40 +01:00
b30e69334a fix alacritty opacity 2022-02-14 08:57:43 +01:00
2e10a00830 nixfmt 2022-02-13 00:31:58 +01:00
4146b5aece reice a lot 2022-02-13 00:28:15 +01:00
beb7d2def1 a little ricing 2022-02-12 20:52:20 +01:00
448da283ee cleanup i3status rust 2022-02-12 01:06:57 +01:00
b907855018 cleanup font handling 2022-02-12 01:06:27 +01:00
c4739ab3fb skip 32 bit 2022-02-11 18:02:58 +01:00
b97933df7e add lorri gfvs 2022-02-11 18:02:58 +01:00
5ace716b24 add certmanager 2022-02-11 16:10:17 +01:00
b2a8623e5f fix emacs fonts 2022-02-11 13:48:32 +01:00
69459cf910 auto garbage collect 2022-01-31 14:44:15 +01:00
0ff07ffde9 better locales 2022-01-31 14:05:28 +01:00
ba1a15b953 kind is nice for local testing 2022-01-31 14:05:28 +01:00
a71dd12124 group autostarts 2022-01-31 14:05:27 +01:00
00b092d396 add quick calculators 2022-01-31 14:05:27 +01:00
091ebc9424 add work monitor via name 2022-01-31 14:03:22 +01:00
3f34e58a84 use zfs features in docker 2022-01-22 15:33:38 +01:00
a1710f0f8f update hosts 2022-01-03 16:10:44 +01:00
3c8239a55f vim & zoxide 2022-01-03 16:10:44 +01:00
135c93c226 keepass and clipboard history 2022-01-03 16:10:44 +01:00
c8a58b150e fix home screen resolution 2022-01-03 16:10:44 +01:00
4b20513a86 desktop config 2021-12-19 17:16:19 +01:00
21e353adcc add nnn 2021-12-07 14:14:47 +01:00
447aeca1ed fix stdenv deprications 2021-12-06 14:53:12 +01:00
4d99a375f0 add lazygit 2021-11-12 22:55:20 +01:00
41 changed files with 3810 additions and 2609 deletions

View file

@ -5,20 +5,24 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports = [
[ # custom modules
# Include the results of the hardware scan. ./modules/colors.nix
./hardware-configuration.nix
./roles/admin.nix # Include the results of the hardware scan.
./roles/base.nix ./hardware-configuration.nix
./roles/desktop.nix
./roles/dev.nix # roles
./roles/mail.nix ./roles/admin.nix
./roles/vpn.nix ./roles/base.nix
./roles/network.nix ./roles/desktop.nix
./roles/work.nix ./roles/dev.nix
]; ./roles/mail.nix
./roles/network.nix
./roles/nix.nix
./roles/vpn.nix
./roles/work.nix
];
networking.useDHCP = false; networking.useDHCP = false;
@ -26,13 +30,16 @@
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
services.openssh.enable = true; services.openssh.enable = true;
networking.firewall.enable = true; networking.firewall.enable = true;
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"openssl-1.0.2u" "openssl-1.0.2u"
"python3.10-kerberos-1.3.1"
]; ];
system.autoUpgrade.enable = true; # removed for mobile working
# system.autoUpgrade.enable = true;
system.stateVersion = "20.03"; # We can stay here system.stateVersion = "20.03"; # We can stay here
} }

View file

@ -1,28 +1,38 @@
font: font:
normal: normal:
family: Cascadia Code family: CaskaydiaCove Nerd Font
size: 12 size: 8
background_opacity: 0.9
draw_bold_text_with_bright_colors: true draw_bold_text_with_bright_colors: true
colors: colors:
primary: primary:
background: "0x19181A" background: '0xf8f8f8'
foreground: "0xFCFCFA" foreground: '0x2a2b33'
normal: normal:
black: "0x19181A" black: '0x000000'
red: "0xcc6666" red: '0xde3d35'
green: "0xa9dc76" green: '0x3e953a'
yellow: "0xffd866" yellow: '0xd2b67b'
cyan: "0x78dce8" blue: '0x2f5af3'
magenta: "0xFC9867" magenta: '0xa00095'
blue: "0xAB9DF2" cyan: '0x3e953a'
white: "0xFCFCFA" white: '0xbbbbbb'
bright:
black: '0x000000'
red: '0xde3d35'
green: '0x3e953a'
yellow: '0xd2b67b'
blue: '0x2f5af3'
magenta: '0xa00095'
cyan: '0x3e953a'
white: '0xffffff'
window: window:
dynamic_title: true dynamic_title: true
opacity: 0.9
env: env:
TERM: xterm-256color TERM: xterm-256color

View file

@ -1,30 +1,48 @@
# colors
set $black #000000
set $red #e75544
set $cyan #3c74f6
set $white #fafafa
set $yellow #908550
set $violet #a73ca6
#set $black2 #323232
set $white2 #f0f0f0
# config # config
set $mod Mod1 set $mod Mod1
set $left h set $left h
set $down j set $down j
set $up k set $up k
set $right l set $right l
#set $term wezterm
set $term alacritty set $term alacritty
set $wallpaper /home/stefan/Downloads/bg.jpg set $wallpaper /home/stefan/wall.png
set $lock swaylock -t -i $wallpaper --scaling=fill set $lock swaylock -t -i $wallpaper --scaling=fill
set $font CaskaydiaCove Nerd Font 10
# echo -- bemenu -H 23 -b -p run --{ff,nf}=#eeeeeee --{tf,hf}=#78dce8 --{tb,fb,nb,hb,sb}=#2d2a2e set $menucolor -H 23 -b \
--tf=$white --tb=$cyan \
set $menu bemenu-run -H 23 -b -p run \ --ff=$black --fb=$white \
--ff=#ff6188 \ --cf=$cyan --cb=$white \
--nf=#fcfcfa \ --nf=$black --nb=$white \
--tf=#78dce8 \ --af=$black --ab=$white2 \
--hf=#78dce8 \ --hf=$white --hb=$cyan \
--tb=#2d2a2e \ --sf=$white --sb=$cyan
--fb=#2d2a2e \ set $menu bemenu-run -p run $menucolor
--nb=#2d2a2e \ set $otpmenu ykman oath accounts code -s "$(ykman oath accounts list | bemenu -i $menucolor)" | wl-copy
--hb=#2d2a2e \ font $font
--sb=#2d2a2e
input "1:1:AT_Translated_Set_2_keyboard" xkb_layout de input "1:1:AT_Translated_Set_2_keyboard" xkb_layout de
input "0:0:TUXEDO_Keyboard" xkb_layout de input "0:0:TUXEDO_Keyboard" xkb_layout de
input 1130:35:HID_046a:0023 xkb_layout de
input "2362:628:PIXA3854:00_093A:0274_Touchpad" click_method clickfinger
input * xkb_options compose:paus
output * bg $wallpaper fill output * bg $wallpaper fill
output "BenQ Corporation BenQ SW2700 83H03922SL0" res --custom 2560x1440@60Hz
output "BenQ Corporation BenQ SW2700 83H03922SL0" pos 1440 720
output "BNQ BenQ PD2705Q W4N00777019" pos 0 0
output "Dell Inc. Dell U4919DW HZVZWP2" res 5120x1440
output eDP-1 scale 1.25
# user keybinds # user keybinds
bindsym $mod+Return exec $term bindsym $mod+Return exec $term
@ -33,10 +51,15 @@ bindsym $mod+d exec $menu
floating_modifier $mod normal floating_modifier $mod normal
bindsym $mod+Shift+c reload bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+Shift+p exec keepassxc bindsym $mod+o exec keepassxc
bindsym $mod+Shift+o exec $otpmenu
bindsym $mod+z exec $lock bindsym $mod+z exec $lock
bindsym $mod+Up exec light -A 5 bindsym $mod+Up exec light -A 5
bindsym $mod+Down exec light -U 5 bindsym $mod+Down exec light -U 5
bindsym $mod+c exec alacritty --class float -t pyCalc -e python
bindsym $mod+i exec alacritty --class float -t numbat -e numbat
bindsym $mod+m exec swayr switch-to
bindsym $mod+n exec emacsclient -cn
bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png bindsym Print exec grim -g "$(slurp)" - | wl-copy -t image/png
bindswitch --reload --locked lid:on output eDP-1 disable bindswitch --reload --locked lid:on output eDP-1 disable
bindswitch --reload --locked lid:off output eDP-1 enable bindswitch --reload --locked lid:off output eDP-1 enable
@ -45,34 +68,14 @@ bindswitch --reload --locked lid:off output eDP-1 enable
for_window [app_id="org.keepassxc.KeePassXC"] floating enable for_window [app_id="org.keepassxc.KeePassXC"] floating enable
for_window [title="Firefox — Sharing Indicator"] floating enable for_window [title="Firefox — Sharing Indicator"] floating enable
for_window [title="Picture-in-Picture"] floating enable for_window [title="Picture-in-Picture"] floating enable
for_window [title="pyCalc"] floating enable
for_window [title="numbat"] floating enable
# font # border backgnd text indicator childborder
font Cascadia Code 10 client.focused $cyan $white $black $violet $cyan
client.focused_inactive $white2 $white2 $black $white2 $white
# colors client.unfocused $white2 $white2 $black $white2 $white
set $black #2d2a2e client.urgent $red $red $white $white2 $black
set $base00 #2d2a2e
set $base01 #ff6188
set $base02 #a9dc76
set $base03 #ffd866
set $base04 #78dce8
set $base05 #ab9df2
set $base06 #fcfcfa
set $base07 #fcfcfa
set $base08 #323232
set $base09 #cc6666
set $base0A #ffd866
set $base0B #78dce8
set $base0C #ab9df2
set $base0D #ff6188
set $base0E #a6dc76
set $base0F #ffffff
# border background text indicator
client.focused $base04 $base00 $base07 $base04 $base04
client.focused_inactive $base00 $base00 $base07 $base00 $base00
client.unfocused $black $black $base07 $base00 $base00
client.urgent $base01 $base01 $base00 $base08 $base07
# movement # movement
@ -129,34 +132,56 @@ mode "resize" {
} }
bindsym $mod+r mode "resize" bindsym $mod+r mode "resize"
mode "umlaut" {
bindsym s exec wtype ß
bindsym a exec wtype ä
bindsym o exec wtype ö
bindsym u exec wtype ü
bindsym Shift+a exec wtype Ä
bindsym Shift+o exec wtype Ö
bindsym Shift+u exec wtype Ü
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+u mode "umlaut"
bar { bar {
font $font
position bottom position bottom
colors { colors {
background $black background $white
statusline $base07 statusline $black
separator $base04 separator $cyan
# border back text
focused_workspace $base04 $base04 $base00
active_workspace $base04 $base04 $base00
urgent_workspace $base01 $base01 $base07
inactive_workspace $base00 $base00 $base07
# border back text
focused_workspace $cyan $cyan $white
active_workspace $cyan $cyan $white
urgent_workspace $red $red $black
inactive_workspace $white $white $black
} }
status_command i3status-rs /etc/sway/status.toml status_command i3status-rs /etc/sway/status.toml
} }
include /etc/sway/config.d/* set $gnome-schema org.gnome.desktop.interface
exec_always {
gsettings set $gnome-schema cursor-theme Adwaita
gsettings set $gnome-schema icon-theme 'capitaine-cursors-white'
gsettings set $gnome-schema cursor-theme 'capitaine-cursors-white'
}
exec mako --border-color=#cc6666 \ # autostarts
--background-color=#2d2a2eee exec swaync
exec emacs --daemon exec emacs --daemon
exec swayidle before-sleep "$lock" exec swayidle before-sleep "$lock"
exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1 exec /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
exec systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec bash -c '[ "$HOSTNAME" == sphere ] && cloudstation'
exec swayrd
exec xinput set-prop "PIXA3854:00 093A:0274 Touchpad" 365 1
set $gnome-schema org.gnome.desktop.interface
exec_always { # pastebin
gsettings set $gnome-schema gtk-theme 'Arc-Dark' exec wl-paste --primary -t text --watch clipman store
gsettings set $gnome-schema icon-theme 'elementary Xfce' bindsym $mod+p exec clipman pick -t "bemenu" --tool-args='-b --fn "$font" -l 10 $menucolor'
gsettings set $gnome-schema cursor-theme 'Capitaine Cursors - White'
}

View file

@ -1,58 +1,61 @@
[theme] [theme]
name = "plain" theme = "plain"
[theme.overrides] [theme.overrides]
idle_bg = "#2d2a2e" idle_bg = "#fafafa"
idle_fg = "#eeeeee" idle_fg = "#000000"
info_bg = "#2d2a2e" info_bg = "#fafafa"
info_fg = "#eeeeee" info_fg = "#000000"
good_bg = "#2d2a2e" good_bg = "#fafafa"
good_fg = "#a9dc76" good_fg = "#000000"
warning_bg = "#2d2a2e" warning_bg = "#fafafa"
warning_fg = "#ffd866" warning_fg = "#908550"
critical_bg = "#2a2e38" critical_bg = "#fafafa"
critical_fg = "#ff665c" critical_fg = "#e75544"
separator_bg = "#2d2a2e" separator_bg = "#fafafa"
separator_fg = "#555555" separator_fg = "#3c74f6"
separator = "|" separator = "|"
[icons] [icons]
name = "none" icons = "none"
[icons.overrides] [icons.overrides]
bat = "  " backlight = [
bat_full = "  " "󰌶",
bat_charging = "   " "󱩏",
bat_discharging = "  " "󱩒",
backlight_empty = "  " "󱩕",
backlight_partial1 = "  " "󰛨",
backlight_partial2 = "  " ]
backlight_partial3 = "  " bat = [
backlight_full = "  " "󱃍 ",
volume_full = "  " "󰁻",
volume_half = "  " "󰁾",
volume_empty = "  " "󰂁",
volume_muted= "MUTE" "󰁹",
cogs = "  " ]
memory_mem = "  " bat_charging = ""
headphones = "  " cogs = ""
net_wireless = " " disk_drive = "󱛟"
headphones = "  "
memory_mem = "󰍛"
net_down = "󰅛"
net_up = "󰱓"
net_vpn = " " net_vpn = " "
net_wired = "" net_wired = ""
net_up = "UP" net_wireless = " 󰖩"
net_down = "DOWN" thermometer = " 󰔏 "
thermometer = "  " time = "󰥔"
volume_muted = "󰖁 MUTE"
volume = [
"",
"󰕾",
"",
]
[[block]] [[block]]
block = "net" block = "net"
device = "wg" device = "wlp166s0"
hide_inactive = true format = " $icon $ip$frequency "
hide_missing = true
[[block]]
block = "net"
device = "wlo1"
hide_inactive = true
hide_missing = true
[[block]] [[block]]
block = "custom" block = "custom"
@ -61,23 +64,20 @@ command = '''echo " $(cat /sys/class/thermal/thermal_zone0/temp | head -c 2)
[[block]] [[block]]
block = "disk_space" block = "disk_space"
path = "/" path = "/"
alias = " /"
info_type = "available" info_type = "available"
unit = "GB" format = " $icon $available "
interval = 20 interval = 20
warning = 20.0 warning = 20.0
alert = 10.0 alert = 10.0
[[block]] [[block]]
block = "memory" block = "memory"
display_type = "memory" format = " $icon $mem_used/$mem_total "
format_mem = "{mem_total_used_percents}"
clickable = false
[[block]] [[block]]
block = "load" block = "load"
interval = 1 interval = 1
format = "{1m}" format = " $icon $1m "
[[block]] [[block]]
block = "sound" block = "sound"
@ -88,11 +88,23 @@ block = "backlight"
[[block]] [[block]]
block = "battery" block = "battery"
device = "BAT0" device = "BAT1"
interval = 10 interval = 10
format = "{percentage}% {time}" format = " $icon $percentage ($time) "
full_format = " $icon $percentage "
[[block]] [[block]]
block = "time" block = "time"
interval = 60 interval = 60
format = "%Y-%m-%d %H:%M" format = " $timestamp.datetime(f:'%Y-%m-%d %H:%M') "
[[block]]
block = "notify"
driver = "swaync"
format = " $icon {($notification_count.eng(w:1)) |}"
[[block.click]]
button = "left"
action = "show"
[[block.click]]
button = "right"
action = "toggle_paused"

39
dotfiles/wezterm.lua Normal file
View file

@ -0,0 +1,39 @@
local wezterm = require 'wezterm';
return {
audible_bell = "Disabled",
bold_brightens_ansi_colors = true,
color_scheme = "One Light (base16)",
enable_tab_bar = false,
enable_wayland = true,
font_size = 12,
font = wezterm.font("CaskaydiaCove Nerd Font"),
window_background_opacity = 0.97,
window_close_confirmation = 'NeverPrompt',
default_prog = { '/run/current-system/sw/bin/bash' },
keys = {
{
key = 'Escape',
mods = 'CTRL',
action = wezterm.action.QuickSelect,
},
},
window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
},
quick_select_patterns = {
'^([^ ]+) +(?:ClusterIP|Bound)',
'^([^ ]+) +(?:[0-9]+/[0-9]+)',
'^([^ ]+) +(?:[0-9]+ )',
'^([^ ]+) +(?:Opaque|kubernetes\\.io|helm\\.sh)',
'^([^ ]+) +(?:Active)',
'[^ ]+@[^ ]+.service',
'git push.*',
},
}

42
hardware/desktop.nix Normal file
View file

@ -0,0 +1,42 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
let unstable = import <nixos-unstable> { config.allowUnfree = true; };
in {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "tank/root/nixos";
fsType = "zfs";
};
fileSystems."/home" = {
device = "tank/root/home";
fsType = "zfs";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/587C-36F9";
fsType = "vfat";
};
swapDevices = [ ];
# custom
boot.extraModprobeConfig = ''
options snd_usb_audio device_setup=1
'';
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
networking.hostId = "ef3a5d57";
networking.hostName = "home";
hardware.opengl.enable = true;
}

83
hardware/framework.nix Normal file
View file

@ -0,0 +1,83 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
let
#nixkernel = import <nixos-kernel> {};
in
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" "i915" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "workpool/nixos/root";
fsType = "zfs";
};
fileSystems."/home" =
{ device = "workpool/nixos/home";
fsType = "zfs";
};
fileSystems."/var/lib/docker" =
{ device = "workpool/nixos/docker";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/AA17-42AD";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/18ae41eb-e32e-46a3-9e22-3395c37782df"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
# custom
boot.loader.systemd-boot.enable = true;
networking.hostId = "f0000001";
networking.hostName = "sphere";
services.tlp.enable = true;
services.hardware.bolt.enable = true;
# framework hardware
#boot.kernelPackages = nixkernel.linuxPackages_5_19;
#boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
boot.kernelParams = [
"nvme.noacpi=1"
"i915.enable_psr=1"
];
boot.blacklistedKernelModules = [ "hid-sensor-hub" ];
hardware.acpilight.enable = true;
services.xserver.dpi = 125;
environment.variables = {
VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl");
};
hardware.graphics.extraPackages = with pkgs; [
vaapiIntel
libvdpau-va-gl
intel-media-driver
];
services.tlp.settings = {
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_ENERGY_PERF_POLICY_ON_BAT = "performance";
};
}

View file

@ -4,42 +4,39 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
let let
tuxedo-keyboard = pkgs.callPackage (import ../packages/tuxedo-keyboard.nix) {}; tuxedo-keyboard =
tuxedo-cc = pkgs.callPackage (import ../packages/tuxedo-control-center/default.nix) {}; pkgs.callPackage (import ../packages/tuxedo-keyboard.nix) { };
tuxedo-cc =
pkgs.callPackage (import ../packages/tuxedo-control-center/default.nix) { };
in { in {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules =
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ boot.extraModulePackages = [ tuxedo-keyboard ];
tuxedo-keyboard environment.systemPackages = with pkgs; [ tuxedo-cc ];
];
environment.systemPackages = with pkgs; [
tuxedo-cc
];
fileSystems."/" = fileSystems."/" = {
{ device = "private/root/nixos"; device = "private/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = fileSystems."/home" = {
{ device = "private/root/home"; device = "private/root/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/tmp" = fileSystems."/tmp" = {
{ device = "private/root/tmp"; device = "private/root/tmp";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/7E36-C774"; device = "/dev/disk/by-uuid/7E36-C774";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,32 +3,37 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let unstable = import <nixos-unstable> { config.allowUnfree = true; };
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ];
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"ehci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "cube/root/nixos"; device = "cube/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = fileSystems."/home" = {
{ device = "cube/home"; device = "cube/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/2AD7-4F18"; device = "/dev/disk/by-uuid/2AD7-4F18";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,8 +3,7 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let unstable = import <nixos-unstable> { config.allowUnfree = true; };
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = [ imports = [
<nixpkgs/nixos/modules/installer/scan/not-detected.nix> <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
@ -19,14 +18,8 @@ in {
"w /sys/class/drm/card0/device/power_dpm_force_performance_level - - - - low" "w /sys/class/drm/card0/device/power_dpm_force_performance_level - - - - low"
]; ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules =
"nvme" [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
"xhci_pci"
"ahci"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
@ -35,7 +28,6 @@ in {
boot.kernelPackages = unstable.linuxPackages_latest; boot.kernelPackages = unstable.linuxPackages_latest;
#boot.kernelPackages = unstable.linux_testing; #boot.kernelPackages = unstable.linux_testing;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
@ -45,20 +37,20 @@ in {
networking.interfaces.wlo1.useDHCP = true; networking.interfaces.wlo1.useDHCP = true;
networking.resolvconf.useLocalResolver = true; networking.resolvconf.useLocalResolver = true;
fileSystems."/" = fileSystems."/" = {
{ device = "tank/root/nixos"; device = "tank/root/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = fileSystems."/home" = {
{ device = "tank/home"; device = "tank/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/B048-FBC8"; device = "/dev/disk/by-uuid/B048-FBC8";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];

View file

@ -3,16 +3,14 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let unstable = import <nixos-unstable> { config.allowUnfree = true; };
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
imports = imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ];
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.availableKernelModules =
boot.initrd.kernelModules = [ ]; [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ "i915" ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.kernelParams = [ "intel_pstate=active" ]; boot.kernelParams = [ "intel_pstate=active" ];
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
@ -26,26 +24,29 @@ in {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 vaapiIntel # LIBVA_DRIVER_NAME=i965
vaapiVdpau vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}; };
environment.variables = {
VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl");
};
fileSystems."/" = fileSystems."/" = {
{ device = "tank/work/nixos"; device = "tank/work/nixos";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = fileSystems."/home" = {
{ device = "tank/work/home"; device = "tank/work/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/DC7B-5E2D"; device = "/dev/disk/by-uuid/DC7B-5E2D";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [ ];
@ -53,7 +54,6 @@ in {
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
# custom # custom
#boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
hardware.cpu.intel.updateMicrocode = true; hardware.cpu.intel.updateMicrocode = true;
networking.hostId = "eff291c4"; networking.hostId = "eff291c4";

48
modules/colors.nix Normal file
View file

@ -0,0 +1,48 @@
{ config, lib, pkgs, ... }:
with lib; {
options = {
colors = {
background = mkOption {
type = types.str;
default = "19181A";
};
foreground = mkOption {
type = types.str;
default = "FCFCFA";
};
black = mkOption {
type = types.str;
default = "19181A";
};
red = mkOption {
type = types.str;
default = "cc6666";
};
green = mkOption {
type = types.str;
default = "a9dc76";
};
yellow = mkOption {
type = types.str;
default = "ffd866";
};
cyan = mkOption {
type = types.str;
default = "78dce8";
};
magenta = mkOption {
type = types.str;
default = "FC9867";
};
blue = mkOption {
type = types.str;
default = "AB9DF2";
};
white = mkOption {
type = types.str;
default = "FCFCFA";
};
};
};
}

28
packages/certmanager.nix Normal file
View file

@ -0,0 +1,28 @@
with import <nixpkgs> { };
stdenv.mkDerivation rec {
name = "cert-manager";
version = "v1.7.1";
src = fetchurl {
url =
"https://github.com/cert-manager/cert-manager/releases/download/${version}/cmctl-linux-amd64.tar.gz";
sha256 = "1z5n2rcfhrl1vm5vxqa1759m3prlv08mmg96n16p4gwkdxycznx4";
};
nativeBuildInputs = [ autoPatchelfHook ];
unpackPhase = ''
tar xvpzf $src
'';
installPhase = ''
install -m 755 -D cmctl $out/bin/cmctl
'';
meta = with lib; {
homepage = "https://cert-manager.io";
description = "cert-manager CLI";
platforms = platforms.linux;
maintainers = with maintainers; [ foosinn ];
};
}

View file

@ -1,22 +1,14 @@
{ stdenv { stdenv, buildFHSUserEnv, fetchurl, lib, pkgs, writeScript }:
, buildFHSUserEnv
, fetchurl
, lib
, pkgs
, writeScript
}:
let let
version = "4.3.3"; version = "4.3.3";
release = "4469"; release = "4469";
cloudstation = stdenv.mkDerivation rec { cloudstation = stdenv.mkDerivation rec {
name = "cloudstation-unpack"; name = "cloudstation-unpack";
buildInputs = [ buildInputs = [ pkgs.dpkg pkgs.qt5.qtbase ];
pkgs.dpkg
pkgs.qt5.qtbase
];
src = fetchurl { src = fetchurl {
url = "https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb"; url =
"https://global.download.synology.com/download/Tools/CloudStationDrive/${version}-${release}/Ubuntu/Installer/x86_64/synology-cloud-station-drive-${release}.x86_64.deb";
sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j"; sha256 = "0v84yb70knmmjzp7lyn6jgy5bnfsfd47wmqh29phybqg4zk3d47j";
}; };
unpackPhase = '' unpackPhase = ''
@ -35,35 +27,37 @@ let
dontWrapQtApps = true; dontWrapQtApps = true;
}; };
in buildFHSUserEnv { in buildFHSUserEnv {
name = "cloudstation"; name = "cloudstation";
targetPkgs = pkgs: with pkgs; with xorg; [ targetPkgs = pkgs:
cloudstation with pkgs;
curl with xorg; [
dbus_libs cloudstation
fontconfig curl
freetype dbus
glib fontconfig
libICE freetype
libSM glib
libX11 libICE
libxcb libSM
openssl libX11
qt5.qtbase libxcb
qt5.qttools openssl
qt5.qtwayland qt5.qtbase
qt5.qtx11extras qt5.qttools
sqlite qt5.qtwayland
stdenv.cc.cc.lib qt5.qtx11extras
xkeyboard_config sqlite
zlib stdenv.cc.cc.lib
]; xkeyboard_config
zlib
];
runScript = writeScript "cloudstation" '' runScript = writeScript "cloudstation" ''
#!/usr/bin/env bash #!/usr/bin/env bash
export QT_PLUGIN_PATH="${pkgs.qt5.qtbase.bin}/${pkgs.qt5.qtbase.qtPluginPrefix}" export QT_PLUGIN_PATH="${pkgs.qt5.qtbase.bin}/${pkgs.qt5.qtbase.qtPluginPrefix}"
export QT_QPA_PLATFORM=xcb
${cloudstation}/bin/launcher ${cloudstation}/bin/launcher
export LD_LIBRARY_PATH="/home/stefan/.CloudStation/CloudStation.app/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="/home/stefan/.CloudStation/CloudStation.app/lib:$LD_LIBRARY_PATH"

View file

@ -1,29 +0,0 @@
with import <nixpkgs> {};
stdenv.mkDerivation rec {
name = "helm2";
version = "2.14.3";
src = fetchurl {
url = "https://get.helm.sh/helm-v${version}-linux-amd64.tar.gz";
sha256 = "38614a665859c0f01c9c1d84fa9a5027364f936814d1e47839b05327e400bf55";
};
nativeBuildInputs = [
autoPatchelfHook
];
unpackPhase = ''
tar xvpzf $src
'';
installPhase = ''
install -m 755 -D linux-amd64/helm $out/bin/helm2
'';
meta = with stdenv.lib; {
homepage = "https://helm.sh";
description = "helms depricated v2 verison";
platforms = platforms.linux;
maintainers = with maintainers; [ foosinn ];
};
}

View file

@ -1,40 +1,43 @@
{ stdenv, fetchFromGitHub, python38Packages, wrapQtAppsHook }: { lib, fetchFromGitHub, python311Packages, wrapQtAppsHook, pkgs }:
python38Packages.buildPythonApplication rec { let
pname = "nagstamon"; pname = "nagstamon";
version = "3.7.0-alpha"; version = "v3.12.0";
in python311Packages.buildPythonApplication rec {
inherit pname;
inherit version;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "HenriWahl"; owner = "HenriWahl";
repo = "Nagstamon"; repo = "Nagstamon";
rev = "dba37dc034589dfb312c6e8a7cc768bcd1952db9"; rev = version;
sha256 = "1l095halb55qinaik51p3lxiln1s034dr28k7ra6xzrrv9l1x1xw"; sha256 = "sha256-SI0FPTqJquaVyl/gpp883eGLq7tZ6J0fqn0jp77M8GM=";
}; };
# Test assumes darwin
doCheck = false; doCheck = false;
nativeBuildInputs = [ wrapQtAppsHook ]; nativeBuildInputs = [ wrapQtAppsHook ];
dontWrapQtApps = true;
postFixup = '' postFixup = ''
wrapQtApp $out/bin/nagstamon.py makeQtWrapper $out/bin/nagstamon.py $out/bin/nagstamon
''; '';
propagatedBuildInputs = with python38Packages; [ propagatedBuildInputs = [
beautifulsoup4 python311Packages.beautifulsoup4
configparser python311Packages.configparser
dateutil python311Packages.dateutil
kerberos python311Packages.keyring
keyring python311Packages.lxml
lxml python311Packages.psutil
psutil python311Packages.pyqt5_with_qtmultimedia
pyqt5_with_qtmultimedia python311Packages.requests
requests python311Packages.requests-kerberos
requests-kerberos python311Packages.setuptools
xlib python311Packages.xlib
pkgs.libsForQt5.qt5.qtwayland
]; ];
meta = with stdenv.lib; { meta = with lib; {
description = "A status monitor for the desktop"; description = "A status monitor for the desktop";
homepage = "https://nagstamon.ifw-dresden.de/"; homepage = "https://nagstamon.ifw-dresden.de/";
license = licenses.gpl2; license = licenses.gpl2;
@ -42,4 +45,3 @@ python38Packages.buildPythonApplication rec {
inherit version; inherit version;
}; };
} }

View file

@ -1,8 +1,12 @@
with import <nixos-unstable> {}; with import <nixos-unstable> { };
neovim.override { neovim.override {
vimAlias = true;
configure = { configure = {
customRC = '' customRC = ''
source ${pkgs.fzf}/share/vim-plugins/fzf/plugin/fzf.vim
set hidden set hidden
" langserver " langserver
@ -27,6 +31,7 @@ neovim.override {
set relativenumber set relativenumber
set mouse=a set mouse=a
set shortmess+=c set shortmess+=c
set clipboard=unnamedplus
" better search " better search
set incsearch set incsearch
@ -64,8 +69,9 @@ neovim.override {
let g:which_key_map = {} let g:which_key_map = {}
let g:which_key_map.f = { 'name': '+files' } let g:which_key_map.f = { 'name': '+files' }
noremap <leader>ff :FZF<cr> noremap <leader>ff :Files<cr>
noremap <leader>fc :saveas noremap <leader>fn :NnnPicker %:p:h<cr>
noremap <leader>fc :saveas %:p:h
let g:which_key_map.y = { 'name': '+yank' } let g:which_key_map.y = { 'name': '+yank' }
noremap <leader>yp :read !wl-paste<cr> noremap <leader>yp :read !wl-paste<cr>
@ -79,7 +85,7 @@ neovim.override {
noremap <leader>bn :bn<cr> noremap <leader>bn :bn<cr>
noremap <leader>bp :bp<cr> noremap <leader>bp :bp<cr>
let g:which_key_map.b = { 'name': '+lang' } let g:which_key_map.m = { 'name': '+lang' }
noremap <leader>md :call LanguageClient_textDocument_codeAction()<cr> noremap <leader>md :call LanguageClient_textDocument_codeAction()<cr>
noremap <leader>mc :call LanguageClient#textDocument_references()<cr> noremap <leader>mc :call LanguageClient#textDocument_references()<cr>
noremap <leader>mf :call LanguageClient#textDocument_formatting()<cr> noremap <leader>mf :call LanguageClient#textDocument_formatting()<cr>
@ -88,6 +94,11 @@ neovim.override {
noremap <leader>mm :call LanguageClient#textDocument_hover()<cr> noremap <leader>mm :call LanguageClient#textDocument_hover()<cr>
noremap <leader>mr :call LanguageClient#textDocument_rename()<cr> noremap <leader>mr :call LanguageClient#textDocument_rename()<cr>
noremap <leader>ms :call LanguageClient#workspace_symbol()<cr> noremap <leader>ms :call LanguageClient#workspace_symbol()<cr>
noremap <leader>ma :fzf_lsp_action<cr>
noremap <leader>ml :fzf_lsp_layout<cr>
let g:which_key_map.g = { 'name': '+git' }
noremap <leader>gs :call LazyGit<cr>
" lang specifics " lang specifics
let g:rustfmt_autosave = 1 let g:rustfmt_autosave = 1
@ -99,10 +110,13 @@ neovim.override {
airline airline
easymotion easymotion
editorconfig-vim editorconfig-vim
fugitive fzf-lsp-nvim
fzf fzf-vim
fzfWrapper
LanguageClient-neovim LanguageClient-neovim
lazygit-nvim
ncm2 ncm2
nnn-vim
surround surround
syntastic syntastic
vim-addon-nix vim-addon-nix

View file

@ -1,31 +1,27 @@
diff --git a/Cargo.lock b/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644 new file mode 100644
index 0000000..1bcb060 index 0000000..a7de0d9
--- /dev/null --- /dev/null
+++ b/Cargo.lock +++ b/Cargo.lock
@@ -0,0 +1,616 @@ @@ -0,0 +1,543 @@
+# This file is automatically @generated by Cargo. +# This file is automatically @generated by Cargo.
+# It is not intended for manual editing. +# It is not intended for manual editing.
+[[package]] +version = 3
+name = "ahash"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
+ +
+[[package]] +[[package]]
+name = "aho-corasick" +name = "aho-corasick"
+version = "0.7.13" +version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+dependencies = [ +dependencies = [
+ "memchr", + "memchr",
+] +]
+ +
+[[package]] +[[package]]
+name = "ansi_term" +name = "ansi_term"
+version = "0.11.0" +version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [ +dependencies = [
+ "winapi", + "winapi",
+] +]
@ -38,9 +34,9 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "arrayvec" +name = "arrayvec"
+version = "0.5.1" +version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+ +
+[[package]] +[[package]]
+name = "atty" +name = "atty"
@ -54,43 +50,32 @@ index 0000000..1bcb060
+] +]
+ +
+[[package]] +[[package]]
+name = "autocfg"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
+
+[[package]]
+name = "base64" +name = "base64"
+version = "0.10.1" +version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" +checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
+dependencies = [ +dependencies = [
+ "byteorder", + "byteorder",
+ "safemem",
+] +]
+ +
+[[package]] +[[package]]
+name = "base64" +name = "base64"
+version = "0.11.0" +version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+
+[[package]]
+name = "base64"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
+ +
+[[package]] +[[package]]
+name = "bitflags" +name = "bitflags"
+version = "1.2.1" +version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+ +
+[[package]] +[[package]]
+name = "blake2b_simd" +name = "blake2b_simd"
+version = "0.5.10" +version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" +checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
+dependencies = [ +dependencies = [
+ "arrayref", + "arrayref",
+ "arrayvec", + "arrayvec",
@ -99,31 +84,21 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "byteorder" +name = "byteorder"
+version = "1.3.4" +version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+ +
+[[package]] +[[package]]
+name = "cfg-if" +name = "cfg-if"
+version = "0.1.10" +version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "charset"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f426e64df1c3de26cbf44593c6ffff5dbfd43bbf9de0d075058558126b3fc73"
+dependencies = [
+ "base64 0.10.1",
+ "encoding_rs",
+]
+ +
+[[package]] +[[package]]
+name = "clap" +name = "clap"
+version = "2.33.1" +version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [ +dependencies = [
+ "ansi_term", + "ansi_term",
+ "atty", + "atty",
@ -142,30 +117,19 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "crossbeam-utils" +name = "crossbeam-utils"
+version = "0.7.2" +version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6"
+dependencies = [ +dependencies = [
+ "autocfg",
+ "cfg-if", + "cfg-if",
+ "lazy_static", + "lazy_static",
+] +]
+ +
+[[package]] +[[package]]
+name = "dirs" +name = "dirs"
+version = "2.0.2" +version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" +checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
+dependencies = [
+ "cfg-if",
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a"
+dependencies = [ +dependencies = [
+ "libc", + "libc",
+ "redox_users", + "redox_users",
@ -173,28 +137,74 @@ index 0000000..1bcb060
+] +]
+ +
+[[package]] +[[package]]
+name = "dlv-list" +name = "encoding"
+version = "0.2.2" +version = "0.2.33"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b391911b9a786312a10cb9d2b3d0735adfd5a8113eb3648de26a75e91b0826c" +checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
+dependencies = [ +dependencies = [
+ "rand", + "encoding-index-japanese",
+ "encoding-index-korean",
+ "encoding-index-simpchinese",
+ "encoding-index-singlebyte",
+ "encoding-index-tradchinese",
+] +]
+ +
+[[package]] +[[package]]
+name = "encoding_rs" +name = "encoding-index-japanese"
+version = "0.8.23" +version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8ac63f94732332f44fe654443c46f6375d1939684c17b0afb6cb56b0456e171" +checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
+dependencies = [ +dependencies = [
+ "cfg-if", + "encoding_index_tests",
+] +]
+ +
+[[package]] +[[package]]
+name = "encoding-index-korean"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-simpchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-singlebyte"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-tradchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding_index_tests"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
+
+[[package]]
+name = "getrandom" +name = "getrandom"
+version = "0.1.14" +version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [ +dependencies = [
+ "cfg-if", + "cfg-if",
+ "libc", + "libc",
@ -202,38 +212,28 @@ index 0000000..1bcb060
+] +]
+ +
+[[package]] +[[package]]
+name = "hashbrown"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf"
+dependencies = [
+ "ahash",
+ "autocfg",
+]
+
+[[package]]
+name = "heck" +name = "heck"
+version = "0.3.1" +version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [ +dependencies = [
+ "unicode-segmentation", + "unicode-segmentation",
+] +]
+ +
+[[package]] +[[package]]
+name = "hermit-abi" +name = "hermit-abi"
+version = "0.1.15" +version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [ +dependencies = [
+ "libc", + "libc",
+] +]
+ +
+[[package]] +[[package]]
+name = "itoa" +name = "itoa"
+version = "0.4.6" +version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+ +
+[[package]] +[[package]]
+name = "lazy_static" +name = "lazy_static"
@ -243,30 +243,30 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "libc" +name = "libc"
+version = "0.2.73" +version = "0.2.119"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9" +checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4"
+ +
+[[package]] +[[package]]
+name = "mailparse" +name = "mailparse"
+version = "0.12.2" +version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "336d59e50513349423fa89bdadef5b5c49972a6ce0b66d3b2c7c8b7ab3969faf" +checksum = "99c0af7aaefb167bb908763399ea2904dab08ca4fd8c2a3277516d4e488b5fe3"
+dependencies = [ +dependencies = [
+ "base64 0.12.3", + "base64 0.9.3",
+ "charset", + "encoding",
+ "quoted_printable", + "quoted_printable",
+] +]
+ +
+[[package]] +[[package]]
+name = "memchr" +name = "memchr"
+version = "2.3.3" +version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+ +
+[[package]] +[[package]]
+name = "notcoal" +name = "notcoal"
+version = "0.4.0" +version = "0.3.0"
+dependencies = [ +dependencies = [
+ "dirs", + "dirs",
+ "mailparse", + "mailparse",
@ -280,118 +280,55 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "notmuch" +name = "notmuch"
+version = "0.6.0" +version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "831623c1b68968505126423f34dc887aa610daf543efc05df948c673e4e022e9"
+dependencies = [ +dependencies = [
+ "libc", + "libc",
+ "supercow", + "supercow",
+] +]
+ +
+[[package]] +[[package]]
+name = "ordered-multimap" +name = "proc-macro2"
+version = "0.2.4" +version = "0.4.30"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e88f947c6799d5eff50e6cf8a2365c17ac4aa8f8f43aceeedc29b616d872a358" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+dependencies = [ +dependencies = [
+ "dlv-list", + "unicode-xid 0.1.0",
+ "hashbrown",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc175e9777c3116627248584e8f8b3e2987405cabe1c0adf7d1dd28f09dc7880"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cc9795ca17eb581285ec44936da7fc2335a3f34f2ddd13118b6f4d515435c50"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "syn-mid",
+ "version_check",
+] +]
+ +
+[[package]] +[[package]]
+name = "proc-macro2" +name = "proc-macro2"
+version = "1.0.19" +version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
+dependencies = [ +dependencies = [
+ "unicode-xid", + "unicode-xid 0.2.2",
+] +]
+ +
+[[package]] +[[package]]
+name = "quote" +name = "quote"
+version = "1.0.7" +version = "0.6.13"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" +checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
+dependencies = [ +dependencies = [
+ "proc-macro2", + "proc-macro2 0.4.30",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
+dependencies = [
+ "proc-macro2 1.0.36",
+] +]
+ +
+[[package]] +[[package]]
+name = "quoted_printable" +name = "quoted_printable"
+version = "0.4.2" +version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47b080c5db639b292ac79cbd34be0cfc5d36694768d8341109634d90b86930e2" +checksum = "3fee2dce59f7a43418e3382c766554c614e06a552d53a8f07ef499ea4b332c0f"
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom",
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core",
+]
+ +
+[[package]] +[[package]]
+name = "redox_syscall" +name = "redox_syscall"
@ -401,9 +338,9 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "redox_users" +name = "redox_users"
+version = "0.3.4" +version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" +checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
+dependencies = [ +dependencies = [
+ "getrandom", + "getrandom",
+ "redox_syscall", + "redox_syscall",
@ -412,29 +349,28 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "regex" +name = "regex"
+version = "1.3.9" +version = "1.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+dependencies = [ +dependencies = [
+ "aho-corasick", + "aho-corasick",
+ "memchr", + "memchr",
+ "regex-syntax", + "regex-syntax",
+ "thread_local",
+] +]
+ +
+[[package]] +[[package]]
+name = "regex-syntax" +name = "regex-syntax"
+version = "0.6.18" +version = "0.6.25"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+ +
+[[package]] +[[package]]
+name = "rust-argon2" +name = "rust-argon2"
+version = "0.7.0" +version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" +checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
+dependencies = [ +dependencies = [
+ "base64 0.11.0", + "base64 0.13.0",
+ "blake2b_simd", + "blake2b_simd",
+ "constant_time_eq", + "constant_time_eq",
+ "crossbeam-utils", + "crossbeam-utils",
@ -442,45 +378,47 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "rust-ini" +name = "rust-ini"
+version = "0.15.3" +version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a3679dd538c876a7b606f3bb951c8a20fc281a0ff7795f59f7cb490e3f979e1" +checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2"
+dependencies = [
+ "cfg-if",
+ "ordered-multimap",
+]
+ +
+[[package]] +[[package]]
+name = "ryu" +name = "ryu"
+version = "1.0.5" +version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
+
+[[package]]
+name = "safemem"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+ +
+[[package]] +[[package]]
+name = "serde" +name = "serde"
+version = "1.0.114" +version = "1.0.136"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
+dependencies = [ +dependencies = [
+ "serde_derive", + "serde_derive",
+] +]
+ +
+[[package]] +[[package]]
+name = "serde_derive" +name = "serde_derive"
+version = "1.0.114" +version = "1.0.136"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
+dependencies = [ +dependencies = [
+ "proc-macro2", + "proc-macro2 1.0.36",
+ "quote", + "quote 1.0.15",
+ "syn", + "syn 1.0.86",
+] +]
+ +
+[[package]] +[[package]]
+name = "serde_json" +name = "serde_json"
+version = "1.0.57" +version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c" +checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
+dependencies = [ +dependencies = [
+ "itoa", + "itoa",
+ "ryu", + "ryu",
@ -495,26 +433,24 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "structopt" +name = "structopt"
+version = "0.3.15" +version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de2f5e239ee807089b62adce73e48c625e0ed80df02c7ab3f068f5db5281065c" +checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
+dependencies = [ +dependencies = [
+ "clap", + "clap",
+ "lazy_static",
+ "structopt-derive", + "structopt-derive",
+] +]
+ +
+[[package]] +[[package]]
+name = "structopt-derive" +name = "structopt-derive"
+version = "0.4.8" +version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "510413f9de616762a4fbeab62509bf15c729603b72d7cd71280fbca431b1c118" +checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
+dependencies = [ +dependencies = [
+ "heck", + "heck",
+ "proc-macro-error", + "proc-macro2 0.4.30",
+ "proc-macro2", + "quote 0.6.13",
+ "quote", + "syn 0.15.44",
+ "syn",
+] +]
+ +
+[[package]] +[[package]]
@ -525,24 +461,24 @@ index 0000000..1bcb060
+ +
+[[package]] +[[package]]
+name = "syn" +name = "syn"
+version = "1.0.36" +version = "0.15.44"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cdb98bcb1f9d81d07b536179c269ea15999b5d14ea958196413869445bb5250" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
+dependencies = [ +dependencies = [
+ "proc-macro2", + "proc-macro2 0.4.30",
+ "quote", + "quote 0.6.13",
+ "unicode-xid", + "unicode-xid 0.1.0",
+] +]
+ +
+[[package]] +[[package]]
+name = "syn-mid" +name = "syn"
+version = "0.5.0" +version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" +checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
+dependencies = [ +dependencies = [
+ "proc-macro2", + "proc-macro2 1.0.36",
+ "quote", + "quote 1.0.15",
+ "syn", + "unicode-xid 0.2.2",
+] +]
+ +
+[[package]] +[[package]]
@ -555,31 +491,28 @@ index 0000000..1bcb060
+] +]
+ +
+[[package]] +[[package]]
+name = "thread_local"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "unicode-segmentation" +name = "unicode-segmentation"
+version = "1.6.0" +version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" +checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
+ +
+[[package]] +[[package]]
+name = "unicode-width" +name = "unicode-width"
+version = "0.1.8" +version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" +checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+ +
+[[package]] +[[package]]
+name = "unicode-xid" +name = "unicode-xid"
+version = "0.2.1" +version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+ +
+[[package]] +[[package]]
+name = "vec_map" +name = "vec_map"
@ -588,12 +521,6 @@ index 0000000..1bcb060
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+ +
+[[package]] +[[package]]
+name = "version_check"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
+
+[[package]]
+name = "wasi" +name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1" +version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index" +source = "registry+https://github.com/rust-lang/crates.io-index"

View file

@ -1,26 +1,23 @@
{ lib, stdenv, rustPlatform, notmuch, bash }: { lib, stdenv, rustPlatform, fetchFromGitHub, pkgs }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "notcoal"; pname = "notcoal";
version = "0.3.0"; version = "0.3.0";
src = fetchTarball { src = fetchFromGitHub {
url = https://ghom.niij.org/eaon/notcoal/archive/v0.3.0.tar.gz; owner = "eaon";
repo = pname;
rev = "v${version}";
sha256 = "19gaba6asid5vplcy9q0ama40dvwwxglc40ks5240lydrvgfrimq"; sha256 = "19gaba6asid5vplcy9q0ama40dvwwxglc40ks5240lydrvgfrimq";
}; };
cargoPatches = [
./Cargo.lock.patch
];
cargoSha256 = "0kgjxq2319l2gh1xc0f3ir1pa6z7p62z3fccswwxrz7gbn7nc07c";
cargoBuildFlags = ["--features=standalone"];
buildInputs = [ cargoPatches = [ ./Cargo.lock.patch ];
bash cargoSha256 = "09bmlpl6rx2pk5w6vv2i1lsl6vr1733zy9jjvi5kkk1mqwinq8ai";
notmuch cargoBuildFlags = [ "--features=standalone" ];
];
buildInputs = with pkgs; [ bash notmuch ];
meta = with stdenv.lib; { meta = with lib; {
description = "An email tagger for notmuch"; description = "An email tagger for notmuch";
homepage = "https://ghom.niij.org/eaon/notcoal"; homepage = "https://ghom.niij.org/eaon/notcoal";
}; };

View file

@ -1,16 +1,15 @@
with import <nixpkgs> {}; with import <nixpkgs> { };
stdenv.mkDerivation { stdenv.mkDerivation {
name = "oc311"; name = "oc311";
version = "3.11"; version = "3.11";
src = fetchurl { src = fetchurl {
url = "https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz"; url =
"https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz";
sha256 = "4b0f07428ba854174c58d2e38287e5402964c9a9355f6c359d1242efd0990da3"; sha256 = "4b0f07428ba854174c58d2e38287e5402964c9a9355f6c359d1242efd0990da3";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ autoPatchelfHook ];
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src --strip-components=1 tar xvpzf $src --strip-components=1
@ -20,7 +19,7 @@ stdenv.mkDerivation {
install -m 755 -D oc $out/bin/oc3 install -m 755 -D oc $out/bin/oc3
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://www.odk.io"; homepage = "https://www.odk.io";
description = "openshift311 client"; description = "openshift311 client";
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -1,16 +1,15 @@
with import <nixpkgs> {}; with import <nixpkgs> { };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "oc46"; name = "oc46";
version = "4.6"; version = "4.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/openshift/okd/releases/download/4.6.0-0.okd-2021-02-14-205305/openshift-client-linux-4.6.0-0.okd-2021-02-14-205305.tar.gz"; url =
"https://github.com/openshift/okd/releases/download/4.6.0-0.okd-2021-02-14-205305/openshift-client-linux-4.6.0-0.okd-2021-02-14-205305.tar.gz";
sha256 = "741c456f1d5227eb40722b0dac328c78dceba5103fd306cf7fe57a9474eb3d35"; sha256 = "741c456f1d5227eb40722b0dac328c78dceba5103fd306cf7fe57a9474eb3d35";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ autoPatchelfHook ];
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src tar xvpzf $src
@ -20,7 +19,7 @@ stdenv.mkDerivation rec {
install -m 755 -D oc $out/bin/oc install -m 755 -D oc $out/bin/oc
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://www.odk.io"; homepage = "https://www.odk.io";
description = "openshift 4.6 client"; description = "openshift 4.6 client";
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -0,0 +1,23 @@
{ pkgs, lib, rustPlatform }:
let
pname = "openscad-language-server";
version = "0.1.0";
src = pkgs.fetchFromGitHub {
owner = "dzhu";
repo = pname;
rev = version;
sha256 = "00msajwwy531ji93xk83lbnbp19asyk1b8ai0hi2awb63vpdr4xg";
};
in
rustPlatform.buildRustPackage {
inherit pname;
inherit version;
inherit src;
cargoSha256 = "0w245d5n0v8b02y0rc1lqx1svi9dnif4gvsas46h9g68206yijcf";
meta = with lib; {
description = "openscad language server";
};
}

View file

@ -1,17 +1,16 @@
with import <nixpkgs> {}; with import <nixpkgs> { };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "openshift-install-4.5"; name = "openshift-install-4.5";
version = "4.5.0-0"; version = "4.5.0-0";
release = "2020-10-03-012432"; release = "2020-10-03-012432";
src = fetchurl { src = fetchurl {
url = "https://github.com/openshift/okd/releases/download/${version}.okd-${release}/openshift-install-linux-${version}.okd-${release}.tar.gz"; url =
"https://github.com/openshift/okd/releases/download/${version}.okd-${release}/openshift-install-linux-${version}.okd-${release}.tar.gz";
sha256 = "f497193e8918840a4fd3267839affdc91ec166c5fd2ae3fdc64f498b5fc56f55"; sha256 = "f497193e8918840a4fd3267839affdc91ec166c5fd2ae3fdc64f498b5fc56f55";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ autoPatchelfHook ];
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
tar xvpzf $src tar xvpzf $src
@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
install -m 755 -D openshift-install $out/bin/openshift-install install -m 755 -D openshift-install $out/bin/openshift-install
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://www.odk.io"; homepage = "https://www.odk.io";
description = "openshift 4.5 installer"; description = "openshift 4.5 installer";
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -1,16 +1,15 @@
with import <nixpkgs> {}; with import <nixpkgs> { };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "skaffold"; name = "skaffold";
version = "1.17.2"; version = "1.17.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/GoogleContainerTools/skaffold/releases/download/v${version}/skaffold-linux-amd64"; url =
"https://github.com/GoogleContainerTools/skaffold/releases/download/v${version}/skaffold-linux-amd64";
sha256 = "55dea8be16fa3abd81820a6a03f5d708beb5e152fe71e00f00744a4dd321c55a"; sha256 = "55dea8be16fa3abd81820a6a03f5d708beb5e152fe71e00f00744a4dd321c55a";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ autoPatchelfHook ];
autoPatchelfHook
];
unpackPhase = '' unpackPhase = ''
cp $src skaffold cp $src skaffold
@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
ls -lah $out/bin/skaffold ls -lah $out/bin/skaffold
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://skaffold.dev"; homepage = "https://skaffold.dev";
description = "skaffold"; description = "skaffold";
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -1,36 +1,8 @@
{ lib { lib, stdenv, makeWrapper, fetchurl, rpmextract, autoPatchelfHook, alsa-lib
, stdenv , cups, gdk-pixbuf, glib, gtk3, libnotify, libuuid, libX11, libXScrnSaver
, makeWrapper , libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr
, fetchurl , libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss, pango, systemd
, rpmextract , libappindicator-gtk3, libdbusmenu
, autoPatchelfHook
, alsa-lib
, cups
, gdk-pixbuf
, glib
, gtk3
, libnotify
, libuuid
, libX11
, libXScrnSaver
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXrandr
, libXrender
, libXtst
, libxcb
, libxshmfence
, mesa
, nspr
, nss
, pango
, systemd
, libappindicator-gtk3
, libdbusmenu
}: }:
@ -39,11 +11,11 @@ stdenv.mkDerivation rec {
version = "1.1.0"; version = "1.1.0";
src = fetchurl { src = fetchurl {
url = "https://rpm.tuxedocomputers.com/opensuse/15.2/x86_64/tuxedo-control-center_${version}.rpm"; url =
"https://rpm.tuxedocomputers.com/opensuse/15.2/x86_64/tuxedo-control-center_${version}.rpm";
sha256 = "0rqhfi1slnh0kkn1vnxqynxm6yb4w1mhk4vi92vj0lrxlwdxf80c"; sha256 = "0rqhfi1slnh0kkn1vnxqynxm6yb4w1mhk4vi92vj0lrxlwdxf80c";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
rpmextract rpmextract
makeWrapper makeWrapper
@ -112,9 +84,9 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
description = "A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops."; description =
"A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.";
homepage = "github.com/tuxedocomputers/tuxedo-control-center"; homepage = "github.com/tuxedocomputers/tuxedo-control-center";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];

View file

@ -1,9 +1,8 @@
{ pkgs, lib, stdenv, makeDesktopItem, desktop-file-utils, { pkgs, lib, stdenv, makeDesktopItem, desktop-file-utils,
python, python,
makeWrapper, nodejs, electron_9, fetchFromGitHub makeWrapper, nodejs, electron_9, fetchFromGitHub }:
}:
let let
baseName = "tuxedo-control-center"; baseName = "tuxedo-control-center";
@ -27,13 +26,13 @@ let
# #
# This means we have to provide our own electron binaries when # This means we have to provide our own electron binaries when
# wrapping this program. # wrapping this program.
ELECTRON_SKIP_BINARY_DOWNLOAD=1; ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
# Angular prompts for analytics, which in turn fails the build. # Angular prompts for analytics, which in turn fails the build.
# #
# We can disable analytics using false or empty string # We can disable analytics using false or empty string
# (See https://github.com/angular/angular-cli/blob/1a39c5202a6fe159f8d7db85a1c186176240e437/packages/angular/cli/models/analytics.ts#L506) # (See https://github.com/angular/angular-cli/blob/1a39c5202a6fe159f8d7db85a1c186176240e437/packages/angular/cli/models/analytics.ts#L506)
NG_CLI_ANALYTICS="false"; NG_CLI_ANALYTICS = "false";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -44,9 +43,8 @@ let
icon = "tuxedo-control-center"; icon = "tuxedo-control-center";
categories = "System;"; categories = "System;";
}; };
in
stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${baseName}-${version}"; name = "${baseName}-${version}";
src = "${nodePackages}/lib/node_modules/tuxedo-control-center/"; src = "${nodePackages}/lib/node_modules/tuxedo-control-center/";
@ -70,7 +68,7 @@ stdenv.mkDerivation rec {
substituteInPlace src/common/classes/TccPaths.ts \ substituteInPlace src/common/classes/TccPaths.ts \
--replace "/etc/tcc" "/var/lib/tcc" \ --replace "/etc/tcc" "/var/lib/tcc" \
--replace "/opt/tuxedo-control-center/resources/dist/tuxedo-control-center/data/service/tccd" "$out/bin/tccd" --replace "/opt/tuxedo-control-center/resources/dist/tuxedo-control-center/data/service/tccd" "$out/bin/tccd"
''; '';
buildPhase = '' buildPhase = ''
set -x set -x

View file

@ -1,8 +1,7 @@
# This file has been generated by node2nix 1.9.0. Do not edit! # This file has been generated by node2nix 1.9.0. Do not edit!
{pkgs ? import <nixpkgs> { { pkgs ? import <nixpkgs> { inherit system; }, system ? builtins.currentSystem
inherit system; , nodejs ? pkgs."nodejs-14_x" }:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
let let
nodeEnv = import ./node-env.nix { nodeEnv = import ./node-env.nix {
@ -10,8 +9,7 @@ let
inherit pkgs nodejs; inherit pkgs nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
}; };
in in import ./node-packages.nix {
import ./node-packages.nix {
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
inherit nodeEnv; inherit nodeEnv;
} }

View file

@ -1,6 +1,6 @@
# This file originates from node2nix # This file originates from node2nix
{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}: { lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile }:
let let
# Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
@ -9,7 +9,7 @@ let
python = if nodejs ? python then nodejs.python else python2; python = if nodejs ? python then nodejs.python else python2;
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
tarWrapper = runCommand "tarWrapper" {} '' tarWrapper = runCommand "tarWrapper" { } ''
mkdir -p $out/bin mkdir -p $out/bin
cat > $out/bin/tar <<EOF cat > $out/bin/tar <<EOF
@ -21,8 +21,7 @@ let
''; '';
# Function that generates a TGZ file from a NPM project # Function that generates a TGZ file from a NPM project
buildNodeSourceDist = buildNodeSourceDist = { name, version, src, ... }:
{ name, version, src, ... }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "node-tarball-${name}-${version}"; name = "node-tarball-${name}-${version}";
@ -40,26 +39,24 @@ let
''; '';
}; };
includeDependencies = {dependencies}: includeDependencies = { dependencies }:
lib.optionalString (dependencies != []) lib.optionalString (dependencies != [ ]) (lib.concatMapStrings
(lib.concatMapStrings (dependency: (dependency: ''
'' # Bundle the dependencies of the package
# Bundle the dependencies of the package mkdir -p node_modules
mkdir -p node_modules cd node_modules
cd node_modules
# Only include dependencies if they don't exist. They may also be bundled in the package. # Only include dependencies if they don't exist. They may also be bundled in the package.
if [ ! -e "${dependency.name}" ] if [ ! -e "${dependency.name}" ]
then then
${composePackage dependency} ${composePackage dependency}
fi fi
cd .. cd ..
'' '') dependencies);
) dependencies);
# Recursively composes the dependencies of a package # Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [], ... }@args: composePackage = { name, packageName, src, dependencies ? [ ], ... }@args:
builtins.addErrorContext "while evaluating node package '${packageName}'" '' builtins.addErrorContext "while evaluating node package '${packageName}'" ''
DIR=$(pwd) DIR=$(pwd)
cd $TMPDIR cd $TMPDIR
@ -106,7 +103,7 @@ let
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
''; '';
pinpointDependencies = {dependencies, production}: pinpointDependencies = { dependencies, production }:
let let
pinpointDependenciesFromPackageJSON = writeTextFile { pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js"; name = "pinpointDependencies.js";
@ -160,39 +157,46 @@ let
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
''; '';
}; };
in in ''
'' node ${pinpointDependenciesFromPackageJSON} ${
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"} if production then "production" else "development"
}
${lib.optionalString (dependencies != []) ${lib.optionalString (dependencies != [ ]) ''
'' if [ -d node_modules ]
if [ -d node_modules ] then
then cd node_modules
cd node_modules ${
${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} lib.concatMapStrings
cd .. (dependency: pinpointDependenciesOfPackage dependency)
fi dependencies
''} }
cd ..
fi
''}
''; '';
# Recursively traverses all dependencies of a package and pinpoints all # Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually # dependencies in the package.json file to the versions that are actually
# being used. # being used.
pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args: pinpointDependenciesOfPackage =
'' { packageName, dependencies ? [ ], production ? true, ... }@args: ''
if [ -d "${packageName}" ] if [ -d "${packageName}" ]
then then
cd "${packageName}" cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }} ${pinpointDependencies { inherit dependencies production; }}
cd .. cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ${
lib.optionalString (builtins.substring 0 1 packageName == "@")
"cd .."
}
fi fi
''; '';
# Extract the Node.js source code which is used to compile packages with # Extract the Node.js source code which is used to compile packages with
# native bindings # native bindings
nodeSources = runCommand "node-sources" {} '' nodeSources = runCommand "node-sources" { } ''
tar --no-same-owner --no-same-permissions -xf ${nodejs.src} tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv node-* $out mv node-* $out
''; '';
@ -320,93 +324,97 @@ let
''; '';
}; };
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}: prepareAndInvokeNPM =
{ packageName, bypassCache, reconstructLock, npmFlags, production }:
let let
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; forceOfflineFlag = if bypassCache then
in "--offline"
'' else
# Pinpoint the versions of all dependencies to the ones that are actually being used "--registry http://www.example.com";
echo "pinpointing versions of dependencies..." in ''
source $pinpointDependenciesScriptPath # Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from # Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible # calling executables outside the Nix store as much as possible
patchShebangs . patchShebangs .
# Deploy the Node.js package by running npm install. Since the # Deploy the Node.js package by running npm install. Since the
# dependencies have been provided already by ourselves, it should not # dependencies have been provided already by ourselves, it should not
# attempt to install them again, which is good, because we want to make # attempt to install them again, which is good, because we want to make
# it Nix's responsibility. If it needs to install any dependencies # it Nix's responsibility. If it needs to install any dependencies
# anyway (e.g. because the dependency parameters are # anyway (e.g. because the dependency parameters are
# incomplete/incorrect), it fails. # incomplete/incorrect), it fails.
# #
# The other responsibilities of NPM are kept -- version checks, build # The other responsibilities of NPM are kept -- version checks, build
# steps, postprocessing etc. # steps, postprocessing etc.
export HOME=$TMPDIR export HOME=$TMPDIR
cd "${packageName}" cd "${packageName}"
runHook preRebuild runHook preRebuild
${lib.optionalString bypassCache '' ${lib.optionalString bypassCache ''
${lib.optionalString reconstructLock '' ${lib.optionalString reconstructLock ''
if [ -f package-lock.json ] if [ -f package-lock.json ]
then then
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
rm package-lock.json rm package-lock.json
else else
echo "No package-lock.json file found, reconstructing..." echo "No package-lock.json file found, reconstructing..."
fi fi
node ${reconstructPackageLock} node ${reconstructPackageLock}
''}
node ${addIntegrityFieldsScript}
''} ''}
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild node ${addIntegrityFieldsScript}
''}
if [ "''${dontNpmInstall-}" != "1" ] npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${
then lib.optionalString production "--production"
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used. } rebuild
rm -f npm-shrinkwrap.json
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install if [ "''${dontNpmInstall-}" != "1" ]
fi then
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${
lib.optionalString production "--production"
} install
fi
''; '';
# Builds and composes an NPM package including all its dependencies # Builds and composes an NPM package including all its dependencies
buildNodePackage = buildNodePackage = { name, packageName, version, dependencies ? [ ]
{ name , buildInputs ? [ ], production ? true, npmFlags ? ""
, packageName , dontNpmInstall ? false, bypassCache ? false, reconstructLock ? false
, version , preRebuild ? "", dontStrip ? true, unpackPhase ? "true"
, dependencies ? [] , buildPhase ? "true", meta ? { }, ... }@args:
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, preRebuild ? ""
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, meta ? {}
, ... }@args:
let let
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ]; extraArgs = removeAttrs args [
in "name"
stdenv.mkDerivation ({ "dependencies"
"buildInputs"
"dontStrip"
"dontNpmInstall"
"preRebuild"
"unpackPhase"
"buildPhase"
"meta"
];
in stdenv.mkDerivation ({
name = "${name}-${version}"; name = "${name}-${version}";
buildInputs = [ tarWrapper python nodejs ] buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) utillinux ++ lib.optional (stdenv.isLinux) utillinux
++ lib.optional (stdenv.isDarwin) libtool ++ lib.optional (stdenv.isDarwin) libtool ++ buildInputs;
++ buildInputs;
inherit nodejs; inherit nodejs;
inherit dontStrip; # Stripping may fail a build for some package deployments inherit
dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall preRebuild unpackPhase buildPhase; inherit dontNpmInstall preRebuild unpackPhase buildPhase;
compositionScript = composePackage args; compositionScript = composePackage args;
@ -422,7 +430,9 @@ let
# Compose the package and all its dependencies # Compose the package and all its dependencies
source $compositionScriptPath source $compositionScriptPath
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} ${prepareAndInvokeNPM {
inherit packageName bypassCache reconstructLock npmFlags production;
}}
# Create symlink to the deployed executable folder, if applicable # Create symlink to the deployed executable folder, if applicable
if [ -d "$out/lib/node_modules/.bin" ] if [ -d "$out/lib/node_modules/.bin" ]
@ -455,98 +465,75 @@ let
} // extraArgs); } // extraArgs);
# Builds a node environment (a node_modules folder and a set of binaries) # Builds a node environment (a node_modules folder and a set of binaries)
buildNodeDependencies = buildNodeDependencies = { name, packageName, version, src, dependencies ? [ ]
{ name , buildInputs ? [ ], production ? true, npmFlags ? ""
, packageName , dontNpmInstall ? false, bypassCache ? false, reconstructLock ? false
, version , dontStrip ? true, unpackPhase ? "true", buildPhase ? "true", ... }@args:
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let let extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; in stdenv.mkDerivation ({
in name = "node-dependencies-${name}-${version}";
stdenv.mkDerivation ({
name = "node-dependencies-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ] buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) utillinux ++ lib.optional (stdenv.isLinux) utillinux
++ lib.optional (stdenv.isDarwin) libtool ++ lib.optional (stdenv.isDarwin) libtool ++ buildInputs;
++ buildInputs;
inherit dontStrip; # Stripping may fail a build for some package deployments inherit
inherit dontNpmInstall unpackPhase buildPhase; dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall unpackPhase buildPhase;
includeScript = includeDependencies { inherit dependencies; }; includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args; pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
installPhase = '' installPhase = ''
mkdir -p $out/${packageName} mkdir -p $out/${packageName}
cd $out/${packageName} cd $out/${packageName}
source $includeScriptPath source $includeScriptPath
# Create fake package.json to make the npm commands work properly # Create fake package.json to make the npm commands work properly
cp ${src}/package.json . cp ${src}/package.json .
chmod 644 package.json chmod 644 package.json
${lib.optionalString bypassCache '' ${lib.optionalString bypassCache ''
if [ -f ${src}/package-lock.json ] if [ -f ${src}/package-lock.json ]
then then
cp ${src}/package-lock.json . cp ${src}/package-lock.json .
fi fi
''} ''}
# Go to the parent folder to make sure that all packages are pinpointed # Go to the parent folder to make sure that all packages are pinpointed
cd .. cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ${lib.optionalString (builtins.substring 0 1 packageName == "@")
"cd .."}
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} ${prepareAndInvokeNPM {
inherit packageName bypassCache reconstructLock npmFlags production;
}}
# Expose the executables that were installed # Expose the executables that were installed
cd .. cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} ${lib.optionalString (builtins.substring 0 1 packageName == "@")
"cd .."}
mv ${packageName} lib mv ${packageName} lib
ln -s $out/lib/node_modules/.bin $out/bin ln -s $out/lib/node_modules/.bin $out/bin
''; '';
} // extraArgs); } // extraArgs);
# Builds a development shell # Builds a development shell
buildNodeShell = buildNodeShell = { name, packageName, version, src, dependencies ? [ ]
{ name , buildInputs ? [ ], production ? true, npmFlags ? ""
, packageName , dontNpmInstall ? false, bypassCache ? false, reconstructLock ? false
, version , dontStrip ? true, unpackPhase ? "true", buildPhase ? "true", ... }@args:
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let let nodeDependencies = buildNodeDependencies args;
nodeDependencies = buildNodeDependencies args; in stdenv.mkDerivation {
in
stdenv.mkDerivation {
name = "node-shell-${name}-${version}"; name = "node-shell-${name}-${version}";
buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux
++ buildInputs;
buildCommand = '' buildCommand = ''
mkdir -p $out/bin mkdir -p $out/bin
cat > $out/bin/shell <<EOF cat > $out/bin/shell <<EOF
@ -559,13 +546,12 @@ let
# Provide the dependencies in a development shell through the NODE_PATH environment variable # Provide the dependencies in a development shell through the NODE_PATH environment variable
inherit nodeDependencies; inherit nodeDependencies;
shellHook = lib.optionalString (dependencies != []) '' shellHook = lib.optionalString (dependencies != [ ]) ''
export NODE_PATH=${nodeDependencies}/lib/node_modules export NODE_PATH=${nodeDependencies}/lib/node_modules
export PATH="${nodeDependencies}/bin:$PATH" export PATH="${nodeDependencies}/bin:$PATH"
''; '';
}; };
in in {
{
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist; buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
buildNodePackage = lib.makeOverridable buildNodePackage; buildNodePackage = lib.makeOverridable buildNodePackage;
buildNodeDependencies = lib.makeOverridable buildNodeDependencies; buildNodeDependencies = lib.makeOverridable buildNodeDependencies;

File diff suppressed because it is too large Load diff

View file

@ -3,9 +3,8 @@
let let
kernel = linuxPackages.kernel; kernel = linuxPackages.kernel;
kernelDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; kernelDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
in
stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "tuxedo-keyboard"; name = "tuxedo-keyboard";
version = "v3.0.8"; version = "v3.0.8";
@ -33,7 +32,8 @@ stdenv.mkDerivation rec {
''; '';
meta = { meta = {
homepage = https://github.com/tuxedocomputers/tuxedo-keyboard/blob/master/Makefile; homepage =
"https://github.com/tuxedocomputers/tuxedo-keyboard/blob/master/Makefile";
}; };
} }

View file

@ -1,22 +1,21 @@
with import <nixpkgs> {}; with import <nixpkgs> { };
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vaultsink"; name = "vaultsink";
version = "0.1.8"; version = "0.1.8";
src = fetchurl { src = fetchurl {
url = "https://github.com/cookiefactory/vault-sink/releases/download/v${version}/vault-sink-linux-amd64"; url =
"https://github.com/cookiefactory/vault-sink/releases/download/v${version}/vault-sink-linux-amd64";
sha256 = "057799e7f907186993b591e3b2f743b69d7a9fed"; sha256 = "057799e7f907186993b591e3b2f743b69d7a9fed";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ autoPatchelfHook ];
autoPatchelfHook
];
installPhase = '' installPhase = ''
install -m 755 -D vault-sink-linux-amd64 $out/bin/sink install -m 755 -D vault-sink-linux-amd64 $out/bin/sink
''; '';
meta = with stdenv.lib; { meta = with lib; {
homepage = "https://github.com/cookiefactory/vault-sink"; homepage = "https://github.com/cookiefactory/vault-sink";
description = "Vault Secret helper for yaml files"; description = "Vault Secret helper for yaml files";
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -1,21 +1,30 @@
{ pkgs, options, ...}: { pkgs, options, ... }:
let let
unstable = import <nixos-unstable> {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cryptsetup cryptsetup
dnsutils dnsutils
dogdns dogdns
k9s k9s
kind
kubectl kubectl
kubectx
kubeseal kubeseal
nmap
pwgen pwgen
terraform
terraform-docs
whois whois
unstable.argocd ipcalc
unstable.kubernetes-helm
unstable.kustomize argocd
unstable.vault kubernetes-helm
kustomize
pre-commit
terraform-ls
vault
yaml-language-server
docker-compose docker-compose
fuse-overlayfs fuse-overlayfs
@ -23,9 +32,23 @@ in {
virt-manager virt-manager
(import ../packages/skaffold.nix) (import ../packages/skaffold.nix)
(import ../packages/helm2.nix) (import ../packages/certmanager.nix)
]; ];
virtualisation.docker.enable = true; programs.bash.shellAliases = {
virtualisation.libvirtd.enable = true; kx = "kubectx";
kns = "kubens";
};
virtualisation.docker = {
enable = true;
storageDriver = "zfs";
};
virtualisation.libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.enable = true;
};
};
} }

View file

@ -1,7 +1,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let unstable = import <nixos-unstable> { };
unstable = import <nixos-unstable> {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
acpi acpi
@ -12,6 +11,7 @@ in {
bash-completion bash-completion
bat bat
borgbackup borgbackup
curl
direnv direnv
fd fd
file file
@ -24,10 +24,12 @@ in {
ncdu ncdu
nix-index nix-index
nload nload
nnn
ntfs3g ntfs3g
openssl openssl
patchelf patchelf
pv pv
restic
ripgrep ripgrep
starship starship
sysstat sysstat
@ -35,13 +37,19 @@ in {
tmux tmux
unzip unzip
wget wget
z-lua zoxide
(import ../packages/neovim.nix) (import ../packages/neovim.nix)
]; ];
environment = { environment = {
etc = { etc = { "starship.toml".source = ../dotfiles/starship.toml; };
"starship.toml".source = ../dotfiles/starship.toml;
variables = {
BAT_THEME = "ansi";
EDITOR = "nvim";
STARSHIP_CONFIG = "/etc/starship.toml";
HISTCONTROL = "ignoreboth";
NIXOS_OZONE_WL = "y";
}; };
}; };
@ -50,8 +58,6 @@ in {
. <(starship init bash) . <(starship init bash)
''; '';
interactiveShellInit = '' interactiveShellInit = ''
export EDITOR=nvim
export STARSHIP_CONFIG=/etc/starship.toml
if [ -f ~/.ssh/agent.env ] ; then if [ -f ~/.ssh/agent.env ] ; then
. ~/.ssh/agent.env > /dev/null . ~/.ssh/agent.env > /dev/null
@ -66,7 +72,6 @@ in {
ssh-add ssh-add
fi fi
set_win_title() { set_win_title() {
echo -ne "\033]0;$USER@$HOSTNAME: $PWD\007" echo -ne "\033]0;$USER@$HOSTNAME: $PWD\007"
} }
@ -74,16 +79,19 @@ in {
. "$(fzf-share)/key-bindings.bash" . "$(fzf-share)/key-bindings.bash"
. "$(fzf-share)/completion.bash" . "$(fzf-share)/completion.bash"
. <(z --init bash) . <(zoxide init bash)
. <(direnv hook bash) . <(direnv hook bash)
. ${pkgs.bash-completion}/etc/profile.d/bash_completion.sh . ${pkgs.bash-completion}/etc/profile.d/bash_completion.sh
alias cat="bat -pp" alias cat="bat -pp"
alias docker="sudo -g docker docker" alias docker="sudo -g docker docker"
alias docker-compose="sudo -g docker docker-compose"
alias less="bat -p" alias less="bat -p"
alias ls="ls --color=auto" alias ls="ls --color=auto"
alias vim="nvim" alias vim="nvim"
alias k="kubectl" alias k="kubectl"
alias n="nix-shell -p"
alias nu="nix-shell -I nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos-unstable -p"
sink() { sink() {
VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) \ VAULT_TOKEN=$(vault token lookup -format=json | jq -r .data.id) \
@ -132,16 +140,46 @@ in {
''; '';
services.fwupd.enable = true; services.fwupd.enable = true;
services.resolved.enable = true;
services.lorri.enable = true;
systemd.user.services.lorri.serviceConfig = {
ProtectSystem = pkgs.lib.mkForce "full";
ProtectHome = pkgs.lib.mkForce false;
};
security.wrappers.gvfsd-nfs = {
source = "${pkgs.gnome.gvfs}/libexec/gvfsd-nfs";
owner = "nobody";
group = "nogroup";
capabilities = "cap_net_bind_service+ep";
};
services.gvfs = { services.gvfs = {
enable = true; enable = true;
package = lib.mkForce pkgs.gnome3.gvfs; package = lib.mkForce (pkgs.gnome.gvfs.overrideAttrs (oldAttrs: {
postInstall = ''
ln -sf /run/wrappers/bin/gvfsd-nfs $out/libexec/gvfsd-nfs
'';
}));
}; };
services.resolved.enable = true;
services.lorri.enable = true;
services.zfs.autoSnapshot = { services.zfs.autoSnapshot = {
enable = true; enable = true;
frequent = 8; frequent = 8;
monthly = 6; monthly = 6;
}; };
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_TIME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
};
};
} }

View file

@ -1,63 +1,104 @@
# Do not modify this file! It was generated by nixos-generate-config #g Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; }; colors = config.colors;
in { schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
in
{
programs.droidcam.enable = true;
programs.sway = { programs.sway = {
enable = true; enable = true;
wrapperFeatures.gtk = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
bemenu bemenu
brightnessctl brightnessctl
gammastep
grim grim
i3status-rust i3status-rust
kanshi kanshi
mako mako
picom
slurp slurp
swayidle swayidle
swaylock swaylock
xwayland swaynotificationcenter
swayr
wf-recorder wf-recorder
wofi
]; ];
extraSessionCommands = "";
}; };
xdg.portal.enable = true;
xdg.portal = { boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
enable = true;
gtkUsePortal = true; colors = {
extraPortals = with pkgs; [ background = "#282a36";
xdg-desktop-portal-gtk foreground = "#f8f8f2";
xdg-desktop-portal-wlr black = "#1E2029";
]; red = "#ff5555";
green = "#50fa7b";
yellow = "#f1fa8c";
cyan = "#8be9fd";
magenta = "#bd93f9";
blue = "#61bfff";
white = "#ffffff";
}; };
boot.extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
environment = { environment = {
etc = { etc = {
"sway/config".source = ../dotfiles/sway/config; "sway/config".source = ../dotfiles/sway/config;
"sway/status.toml".source = ../dotfiles/sway/status.toml; "sway/status.toml".source = ../dotfiles/sway/status.toml;
"xdg/alacritty/alacritty.yml".source = ../dotfiles/alacritty.yml; "xdg/alacritty/alacritty.yml".text = ''
font:
normal:
family: CaskaydiaCove Nerd Font
size: 12
draw_bold_text_with_bright_colors: true
colors:
primary:
background: "${colors.background}"
foreground: "${colors.foreground}"
normal:
black: "${colors.black}"
red: "${colors.red}"
green: "${colors.green}"
yellow: "${colors.yellow}"
cyan: "${colors.cyan}"
magenta: "${colors.magenta}"
blue: "${colors.blue}"
white: "${colors.white}"
window:
dynamic_title: true
opacity: 0.98
env:
TERM: xterm-256color
key_bindings:
- { key: Escape, mods: Control, action: ToggleViMode }
'';
"wezterm.lua".source = ../dotfiles/wezterm.lua;
}; };
}; };
qt.platformTheme = "qt5ct";
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
security.polkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
config.pipewire = {
"context.properties" = {
"default.clock.rate" = 48000;
};
};
}; };
services.udev.packages = [ services.udev.packages = [
(pkgs.writeTextFile { (pkgs.writeTextFile {
@ -68,21 +109,21 @@ in {
destination = "/etc/udev/rules.d/80-uinput.rules"; destination = "/etc/udev/rules.d/80-uinput.rules";
}) })
]; ];
services.ratbagd.enable = true;
fonts.enableDefaultFonts = true; fonts.enableDefaultPackages = true;
fonts.fontconfig.antialias = true; fonts.fontconfig.antialias = true;
fonts.fonts = with pkgs; [ fonts.packages = with pkgs; [
cascadia-code corefonts
emacs-all-the-icons-fonts
fira-code fira-code
fira-code-symbols
font-awesome
meslo-lg
noto-fonts noto-fonts
noto-fonts-emoji noto-fonts-emoji
(nerdfonts.override { fonts = [ "CascadiaCode" "Meslo" ]; })
]; ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
environment.pathsToLink = ["/libexec"]; environment.pathsToLink = [ "/libexec" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
polkit_gnome polkit_gnome
@ -104,64 +145,71 @@ in {
arc-theme arc-theme
capitaine-cursors capitaine-cursors
dracula-theme
elementary-xfce-icon-theme elementary-xfce-icon-theme
glib
gsettings-desktop-schemas gsettings-desktop-schemas
gtk-engine-murrine gtk-engine-murrine
gtk_engines gtk_engines
hicolor-icon-theme hicolor-icon-theme
libsForQt5.qtstyleplugins
lxappearance lxappearance
numix-icon-theme numix-icon-theme
numix-cursor-theme
alacritty
gimp
imv imv
inkscape inkscape
libqrencode keepassxc
libreoffice libreoffice
libsecret libsecret
lxappearance
mpv mpv
mumble mumble
neofetch neofetch
numbat
pavucontrol pavucontrol
pcmanfm pcmanfm
pulseeffects-pw qrencode
unstable.alacritty remmina
unstable.keepassxc uxplay
unstable.noisetorch wezterm
solaar solaar
gdk-pixbuf gdk-pixbuf
gebaar-libinput clipman
wdisplays wdisplays
wl-clipboard wl-clipboard
xdg_utils xdg-utils
xfce.thunar xfce.thunar
xfce.thunar-volman xfce.thunar-volman
ydotool wtype
( (pkgs.writeTextFile {
pkgs.writeTextFile { name = "startsway";
name = "startsway"; destination = "/bin/startsway";
destination = "/bin/startsway"; executable = true;
executable = true; text = ''
text = '' #! ${pkgs.bash}/bin/bash
#! ${pkgs.bash}/bin/bash
export GTK_ICON_THEME=Tango export GTK_ICON_THEME=Dracula
export GTK_THEME=Blackbird export GTK_THEME=Dracula
export _JAVA_AWT_WM_NOREPARENTING=1 export _JAVA_AWT_WM_NOREPARENTING=1
export MOZ_ENABLE_WAYLAND=1 export MOZ_DBUS_REMOTE=1
export MOZ_USE_XINPUT2=1 export MOZ_ENABLE_WAYLAND=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0 export MOZ_USE_XINPUT2=1
export QT_QPA_PLATFORM=wayland-egl export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_WAYLAND_FORCE_DPI=96 export QT_QPA_PLATFORM=wayland-egl
export SDL_VIDEODRIVER=wayland export QT_WAYLAND_FORCE_DPI=96
export XDG_CURRENT_DESKTOP=sway export SDL_VIDEODRIVER=wayland
export XDG_SESSION_TYPE=wayland export WEZTERM_CONFIG_FILE=/etc/wezterm.lua
export XDG_CURRENT_DESKTOP=sway
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
export XDG_SESSION_TYPE=wayland
${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway ${pkgs.dbus}/bin/dbus-run-session ${pkgs.sway}/bin/sway
''; '';
} })
)
]; ];
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
@ -176,14 +224,15 @@ in {
}; };
services.printing.enable = true; services.printing.enable = true;
services.printing.drivers = [ services.printing.drivers = [ pkgs.gutenprint ];
pkgs.gutenprint services.avahi = {
];
services.avahi.enable = true;
services.avahi.nssmdns = true;
hardware.opengl = {
enable = true; enable = true;
nssmdns4 = true;
publish = {
enable = true;
addresses = true;
workstation = true;
userServices = true;
};
}; };
} }

View file

@ -1,39 +1,49 @@
{ config, lib, pkgs, ... }: { config, lib, buildPythonPackage, pkgs, fetchPypi,... }:
let let
unstable = import <nixos-unstable> {}; unstable = import <nixos-unstable> { };
in { in {
services.emacs.package = pkgs.emacs-pgtk;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
gnumake gnumake
go go
phpactor
rustup rustup
shellcheck shellcheck
unstable.golangci-lint unstable.golangci-lint
unstable.gopls unstable.gopls
unstable.rust-analyzer
#unstable.esphome
nodePackages.pyright (python311.withPackages
(python39.withPackages(python-packages: with python-packages; [ (python-packages: with python-packages; [
black black
pyyaml diagrams
requests pymemcache
black pyyaml
])) requests
ruff-lsp
])
)
mariadb-client mariadb-client
musl musl
dbeaver dbeaver-bin
emacs emacs-pgtk
gitAndTools.delta gitAndTools.delta
lazygit
ltrace ltrace
parallel parallel
sops sops
tig tig
unstable.bazel
openssl pkg-config nasm cmake zlib gcc binutils-unwrapped openssl
pkg-config
nasm
cmake
zlib
gcc
binutils-unwrapped
]; ];
} }

View file

@ -1,16 +1,16 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; }; notcoal = pkgs.callPackage ../packages/notcoal { };
notcoal = pkgs.callPackage (import ../packages/notcoal) {};
in { in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
unstable.astroid
isync isync
khal khal
msmtp msmtp
notmuch notmuch
notcoal
thunderbird thunderbird
astroid
vdirsyncer vdirsyncer
]; ];
} }

View file

@ -1,7 +1,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; };
in { in {
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -10,5 +9,6 @@ in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
networkmanagerapplet networkmanagerapplet
networkmanager-vpnc networkmanager-vpnc
openconnect_openssl
]; ];
} }

11
roles/nix.nix Normal file
View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
{
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
}

View file

@ -1,43 +1,27 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
unstable = import <nixos-unstable> {}; openscad-ls = pkgs.callPackage ../packages/openscad-language-server.nix { };
in { in
environment.systemPackages = with pkgs; [ {
# embedded environment.systemPackages = with pkgs;
arduino [
avrdude openscad
gcc-arm-embedded openscad-ls
openocd ];
pkgsCross.avr.avrlibc
pkgsCross.avr.buildPackages.binutils
pkgsCross.avr.buildPackages.gcc8
pkgsCross.avr.libcCross
cura
candle
openscad
kicad
blender
python3Packages.numpy
python3Packages.shapely
steam
unstable.obs-studio
];
# stm32 debugger # stm32 debugger
users.extraGroups.plugdev = { }; users.extraGroups.plugdev = { };
users.extraUsers.stefan.extraGroups = [ "plugdev" "dialout" ]; users.extraUsers.stefan.extraGroups = [ "plugdev" "dialout" ];
services.udev.packages = [ pkgs.openocd ]; services.udev.packages = [ pkgs.openocd ];
# steam dependencies
hardware.opengl.driSupport32Bit = true;
hardware.opengl.driSupport = true;
fileSystems."/mnt/nfs" = { fileSystems."/mnt/nfs" = {
device = "10.1.20.29:/srv/nfs"; device = "10.1.20.29:/srv/nfs";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=120" ]; options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=120" ];
}; };
networking.extraHosts = ''
162.55.40.34 mail.f2o.io
'';
} }

View file

@ -2,7 +2,5 @@
{ {
networking.wireguard.enable = true; networking.wireguard.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [ wireguard-tools ];
wireguard
];
} }

View file

@ -2,25 +2,52 @@
let let
unstable = import <nixos-unstable> { config.allowUnfree = true; }; unstable = import <nixos-unstable> { config.allowUnfree = true; };
cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) {}; cloudstation = pkgs.callPackage (import ../packages/cloudstation.nix) { };
nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) {}; nagstamon = pkgs.libsForQt5.callPackage (import ../packages/nagstamon.nix) { };
myslack = pkgs.slack.overrideAttrs (oldAttrs: rec {
fixupPhase = ''
sed -i -e 's/,"WebRTCPipeWireCapturer"/,"LebRTCPipeWireCapturer"/' $out/lib/slack/resources/app.asar
rm $out/bin/slack
makeWrapper $out/lib/slack/slack $out/bin/slack \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--suffix PATH : ${lib.makeBinPath [ pkgs.xdg-utils ]} \
--add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer"
'';
});
in { in {
environment.variables = {
USE_GKE_GCLOUD_AUTH_PLUGIN = "True";
};
services.tailscale = {
enable = true;
package = unstable.tailscale;
};
security.pki.certificateFiles = [ security.pki.certificateFiles = [
../dotfiles/certs/NetzmarktCA.crt ../dotfiles/certs/NetzmarktCA.crt
../dotfiles/certs/vcenter.netzmarkt.lan.crt ../dotfiles/certs/vcenter.netzmarkt.lan.crt
]; ];
networking.extraHosts = '' networking.extraHosts = ''
35.234.109.94 fsi.thomann.de
10.100.7.11 mon.netzmarkt.de 10.100.7.11 mon.netzmarkt.de
85.10.233.162 live.bonedo.de
172.23.0.2 api.kube.local 172.20.0.2 hubble.kind
172.23.0.2 hubble.kube.local 172.20.0.2 dashboard.kind
172.23.0.2 bonedo.kube.local 172.20.0.2 grafana.kind
172.23.0.2 linkerd.kube.local 172.20.0.2 alert.kind
172.23.0.2 argo.kube.local
#192.168.2.111 hass.home.f2o.io
#192.168.2.111 sync.home.f2o.io
192.168.2.111 pl.home.f2o.io
#127.0.0.1 auth-dev.thobits.com
127.0.0.1 database
127.0.0.1 youtube.com
127.0.0.1 www.youtube.com
''; '';
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -30,17 +57,30 @@ in {
# (import ../packages/vaultsink.nix) needs opensource verson # (import ../packages/vaultsink.nix) needs opensource verson
cloudstation cloudstation
nagstamon nagstamon
yubikey-manager
anydesk
chromium
nodejs
vscodium
git-lfs
drone-cli drone-cli
go-jira
govc govc
ttyd ttyd
unstable.discord discord
unstable.google-cloud-sdk (google-cloud-sdk.withExtraComponents [
unstable.slack google-cloud-sdk.components.gke-gcloud-auth-plugin
unstable.velero ])
myslack
velero
unstable.obs-studio obs-studio
unstable.obs-studio-plugins.wlrobs obs-studio-plugins.wlrobs
prusa-slicer
]; ];
# yubikey support
services.udev.packages = [ pkgs.yubikey-personalization ];
services.pcscd.enable = true;
} }