Auto-indent every file

This commit is contained in:
Vili Sinervä 2024-06-02 05:53:39 +03:00
parent d705ce20c3
commit 4787fea598
No known key found for this signature in database
GPG key ID: DF8FEAF54EFAC996
14 changed files with 977 additions and 997 deletions

View file

@ -2,7 +2,7 @@
{ config, pkgs, ... }:
{
#################### Packages ####################
environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
rxvt-unicode-emoji
tmux
git
@ -10,12 +10,12 @@
nano
p7zip
tree
];
];
#################### ZSH configuration ####################
users.defaultUserShell = pkgs.zsh;
environment.shells = with pkgs; [ zsh ];
programs.zsh = {
users.defaultUserShell = pkgs.zsh;
environment.shells = with pkgs; [ zsh ];
programs.zsh = {
enable = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
@ -41,8 +41,8 @@
#################### tmux configuration ####################
programs.tmux.enable = true;
programs.tmux.extraConfig =
programs.tmux.enable = true;
programs.tmux.extraConfig =
''
unbind C-b
set -g prefix M-w
@ -83,37 +83,37 @@
'';
#################### SSH configuration ####################
services.openssh.enable = true;
services.openssh.settings.PasswordAuthentication = false;
users.users.root.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBbGREoK1uVny1s8FK3KZ74Wmaf0VtifhqPyK69C/Gez vili@helium" ];
services.openssh.enable = true;
services.openssh.settings.PasswordAuthentication = false;
users.users.root.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBbGREoK1uVny1s8FK3KZ74Wmaf0VtifhqPyK69C/Gez vili@helium" ];
#################### BASE ####################
nixpkgs.config.allowUnfree = true;
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
nixpkgs.config.allowUnfree = true;
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
users.mutableUsers = false; # Force all user management to happen throught nix-files
users.mutableUsers = false; # Force all user management to happen throught nix-files
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
services.xserver.xkb = {
i18n.defaultLocale = "en_US.UTF-8";
services.xserver.xkb = {
layout = "us,";
variant = "de_se_fi,";
};
console = pkgs.lib.mkForce {
};
console = pkgs.lib.mkForce {
font = "Lat2-Terminus16";
useXkbConfig = true; # use xkbOptions in tty.
};
time.timeZone = "Europe/Helsinki";
};
time.timeZone = "Europe/Helsinki";
#################### Housekeeping ####################
system.autoUpgrade = {
system.autoUpgrade = {
enable = true;
dates = "04:00";
randomizedDelaySec = "30min";
};
};
nix = {
nix = {
settings = {
auto-optimise-store = true;
tarball-ttl = 0;
@ -124,10 +124,10 @@
dates = "05:00";
randomizedDelaySec = "30min";
};
};
};
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
system.copySystemConfiguration = true;
system.copySystemConfiguration = true;
}

View file

@ -9,15 +9,15 @@ let
ref = "main";
};
in
{
{
# Verification will be available soon, so keeping this here as a reminder
# publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBbGREoK1uVny1s8FK3KZ74Wmaf0VtifhqPyK69C/Gez vili@helium";
# nix.settings.experimental-features = "verified-fetches";
imports = [
imports = [
./hardware-configuration.nix
"${repo}/machine-confs/${host}.nix"
];
];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
@ -25,5 +25,5 @@ in
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = stateVersion; # Did you read the comment?
system.stateVersion = stateVersion; # Did you read the comment?
}

View file

@ -1,7 +1,7 @@
#Config for graphical desktop
{ config, pkgs, ... }:
let
i3status-conf = "${pkgs.writeText "i3status-conf"
i3status-conf = "${pkgs.writeText "i3status-conf"
''
# i3status configuration file.
# see "man i3status" for documentation.
@ -11,44 +11,44 @@ i3status-conf = "${pkgs.writeText "i3status-conf"
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
general {
output_format = "i3bar"
colors = true
interval = 5
color_good = "#2AA198"
color_bad = "#586E75"
color_degraded = "#DC322F"
}
}
order += "battery all"
order += "cpu_usage"
order += "memory"
order += "ethernet _first_"
order += "wireless _first_"
order += "disk /"
order += "tztime local"
order += "tztime helsinki"
order += "battery all"
order += "cpu_usage"
order += "memory"
order += "ethernet _first_"
order += "wireless _first_"
order += "disk /"
order += "tztime local"
order += "tztime helsinki"
cpu_usage {
cpu_usage {
format = " CPU %usage "
}
}
disk "/" {
disk "/" {
# format = " hdd %avail "
format = " %avail "
}
}
ethernet _first_ {
ethernet _first_ {
format_up = " LAN: %ip "
format_down = " No LAN "
}
}
wireless _first_ {
wireless _first_ {
format_up = " %quality%essid: %ip "
format_down = ""
}
}
battery all {
battery all {
# format = "%status %percentage %remaining %emptytime"
format = " bat %status %percentage (%remaining left) "
format_down = ""
@ -66,206 +66,206 @@ battery all {
status_full = ""
low_threshold = 30
threshold_type = time
}
}
memory {
memory {
format = " RAM %used / %total "
threshold_degraded = "10%"
}
}
tztime local {
tztime local {
format = " %d.%m. %H:%M "
}
}
tztime helsinki {
tztime helsinki {
format = " (HEL %H:%M) "
timezone = "Europe/Helsinki"
hide_if_equals_localtime = true
}
}
''}";
i3-conf = "${pkgs.writeText "i3config"
''
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
set $mod Mod4
set $mod Mod4
# Workspace names
# to display names or symbols instead of plain workspace numbers you can use
# something like: set $ws1 1:mail
# set $ws2 2:
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9
set $ws10 10
set $ws11 11
set $ws12 12
set $ws13 13
set $ws14 14
set $ws15 15
set $ws16 16
set $ws17 17
set $ws18 18
set $ws19 19
set $ws20 20
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9
set $ws10 10
set $ws11 11
set $ws12 12
set $ws13 13
set $ws14 14
set $ws15 15
set $ws16 16
set $ws17 17
set $ws18 18
set $ws19 19
set $ws20 20
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+Mod1+1 workspace $ws11
bindsym $mod+Mod1+2 workspace $ws12
bindsym $mod+Mod1+3 workspace $ws13
bindsym $mod+Mod1+4 workspace $ws14
bindsym $mod+Mod1+5 workspace $ws15
bindsym $mod+Mod1+6 workspace $ws16
bindsym $mod+Mod1+7 workspace $ws17
bindsym $mod+Mod1+8 workspace $ws18
bindsym $mod+Mod1+9 workspace $ws19
bindsym $mod+Mod1+0 workspace $ws20
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+Mod1+1 workspace $ws11
bindsym $mod+Mod1+2 workspace $ws12
bindsym $mod+Mod1+3 workspace $ws13
bindsym $mod+Mod1+4 workspace $ws14
bindsym $mod+Mod1+5 workspace $ws15
bindsym $mod+Mod1+6 workspace $ws16
bindsym $mod+Mod1+7 workspace $ws17
bindsym $mod+Mod1+8 workspace $ws18
bindsym $mod+Mod1+9 workspace $ws19
bindsym $mod+Mod1+0 workspace $ws20
# Move focused container to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws10
bindsym $mod+Mod1+Ctrl+1 move container to workspace $ws11
bindsym $mod+Mod1+Ctrl+2 move container to workspace $ws12
bindsym $mod+Mod1+Ctrl+3 move container to workspace $ws13
bindsym $mod+Mod1+Ctrl+4 move container to workspace $ws14
bindsym $mod+Mod1+Ctrl+5 move container to workspace $ws15
bindsym $mod+Mod1+Ctrl+6 move container to workspace $ws16
bindsym $mod+Mod1+Ctrl+7 move container to workspace $ws17
bindsym $mod+Mod1+Ctrl+8 move container to workspace $ws18
bindsym $mod+Mod1+Ctrl+9 move container to workspace $ws19
bindsym $mod+Mod1+Ctrl+0 move container to workspace $ws20
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws10
bindsym $mod+Mod1+Ctrl+1 move container to workspace $ws11
bindsym $mod+Mod1+Ctrl+2 move container to workspace $ws12
bindsym $mod+Mod1+Ctrl+3 move container to workspace $ws13
bindsym $mod+Mod1+Ctrl+4 move container to workspace $ws14
bindsym $mod+Mod1+Ctrl+5 move container to workspace $ws15
bindsym $mod+Mod1+Ctrl+6 move container to workspace $ws16
bindsym $mod+Mod1+Ctrl+7 move container to workspace $ws17
bindsym $mod+Mod1+Ctrl+8 move container to workspace $ws18
bindsym $mod+Mod1+Ctrl+9 move container to workspace $ws19
bindsym $mod+Mod1+Ctrl+0 move container to workspace $ws20
# Move to workspace with focused container
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10
bindsym $mod+Mod1+Shift+1 move container to workspace $ws11; workspace $ws11
bindsym $mod+Mod1+Shift+2 move container to workspace $ws12; workspace $ws12
bindsym $mod+Mod1+Shift+3 move container to workspace $ws13; workspace $ws13
bindsym $mod+Mod1+Shift+4 move container to workspace $ws14; workspace $ws14
bindsym $mod+Mod1+Shift+5 move container to workspace $ws15; workspace $ws15
bindsym $mod+Mod1+Shift+6 move container to workspace $ws16; workspace $ws16
bindsym $mod+Mod1+Shift+7 move container to workspace $ws17; workspace $ws17
bindsym $mod+Mod1+Shift+8 move container to workspace $ws18; workspace $ws18
bindsym $mod+Mod1+Shift+9 move container to workspace $ws19; workspace $ws19
bindsym $mod+Mod1+Shift+0 move container to workspace $ws20; workspace $ws20
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10
bindsym $mod+Mod1+Shift+1 move container to workspace $ws11; workspace $ws11
bindsym $mod+Mod1+Shift+2 move container to workspace $ws12; workspace $ws12
bindsym $mod+Mod1+Shift+3 move container to workspace $ws13; workspace $ws13
bindsym $mod+Mod1+Shift+4 move container to workspace $ws14; workspace $ws14
bindsym $mod+Mod1+Shift+5 move container to workspace $ws15; workspace $ws15
bindsym $mod+Mod1+Shift+6 move container to workspace $ws16; workspace $ws16
bindsym $mod+Mod1+Shift+7 move container to workspace $ws17; workspace $ws17
bindsym $mod+Mod1+Shift+8 move container to workspace $ws18; workspace $ws18
bindsym $mod+Mod1+Shift+9 move container to workspace $ws19; workspace $ws19
bindsym $mod+Mod1+Shift+0 move container to workspace $ws20; workspace $ws20
# Configure border style <normal|1pixel|pixel xx|none|pixel>
default_border pixel 3
default_floating_border normal
default_border pixel 3
default_floating_border normal
# Hide borders
hide_edge_borders none
hide_edge_borders none
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font xft:URWGothic-Book 14
font xft:URWGothic-Book 14
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec urxvt
bindsym $mod+Return exec urxvt
# kill focused window
bindsym $mod+Shift+q kill
bindsym $mod+Shift+q kill
# start program launcher
bindsym $mod+d exec --no-startup-id "rofi -theme 'Arc-Dark' -show combi -combi-modes 'run,ssh' -modes combi"
bindsym $mod+d exec --no-startup-id "rofi -theme 'Arc-Dark' -show combi -combi-modes 'run,ssh' -modes combi"
# change focus
# bindsym $mod+i focus left
# bindsym $mod+n focus down
# bindsym $mod+e focus up
# bindsym $mod+o focus right
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# MARK!
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
# bindsym $mod+Shift+i move left
# bindsym $mod+Shift+n move down
# bindsym $mod+Shift+e move up
# bindsym $mod+Shift+o move right
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# MARK!
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split orientation
# bindsym $mod+h split h;exec notify-send 'tile horizontally'
bindsym $mod+e split h;exec notify-send 'tile horizontally'
bindsym $mod+e split h;exec notify-send 'tile horizontally'
# MARK!
bindsym $mod+v split v;exec notify-send 'tile vertically'
bindsym $mod+v split v;exec notify-send 'tile vertically'
# toggle fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
# bindsym $mod+l layout toggle split
# MARK!
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
bindsym $mod+space focus mode_toggle
# reload the configuration file
bindsym $mod+Shift+c reload
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
bindsym $mod+Shift+r restart
# Resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
bindsym $mod+r mode "resize"
mode "resize" {
bindsym h resize shrink width 5 px or 5 ppt
bindsym j resize grow height 5 px or 5 ppt
bindsym k resize shrink height 5 px or 5 ppt
@ -285,7 +285,7 @@ mode "resize" {
# exit resize mode: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
}
# Color palette used for the terminal ( ~/.Xresources file )
# Colors are gathered based on the documentation:
@ -299,27 +299,27 @@ mode "resize" {
# to:
# background $term_background
# Same logic applied to everything else.
set_from_resource $term_background background
set_from_resource $term_foreground foreground
set_from_resource $term_color0 color0
set_from_resource $term_color1 color1
set_from_resource $term_color2 color2
set_from_resource $term_color3 color3
set_from_resource $term_color4 color4
set_from_resource $term_color5 color5
set_from_resource $term_color6 color6
set_from_resource $term_color7 color7
set_from_resource $term_color8 color8
set_from_resource $term_color9 color9
set_from_resource $term_color10 color10
set_from_resource $term_color11 color11
set_from_resource $term_color12 color12
set_from_resource $term_color13 color13
set_from_resource $term_color14 color14
set_from_resource $term_color15 color15
set_from_resource $term_background background
set_from_resource $term_foreground foreground
set_from_resource $term_color0 color0
set_from_resource $term_color1 color1
set_from_resource $term_color2 color2
set_from_resource $term_color3 color3
set_from_resource $term_color4 color4
set_from_resource $term_color5 color5
set_from_resource $term_color6 color6
set_from_resource $term_color7 color7
set_from_resource $term_color8 color8
set_from_resource $term_color9 color9
set_from_resource $term_color10 color10
set_from_resource $term_color11 color11
set_from_resource $term_color12 color12
set_from_resource $term_color13 color13
set_from_resource $term_color14 color14
set_from_resource $term_color15 color15
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
bar {
i3bar_command i3bar
status_command i3status
position bottom
@ -343,135 +343,135 @@ bar {
binding_mode #16a085 #2C2C2C #F9FAF9
urgent_workspace #16a085 #FDF6E3 #E5201D
}
}
}
# Theme colors
# class border backgr. text indic. child_border
client.focused #556064 #556064 #80FFF9 #FDF6E3
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2
client.placeholder #000000 #0c0c0c #ffffff #000000
client.focused #556064 #556064 #80FFF9 #FDF6E3
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2
client.placeholder #000000 #0c0c0c #ffffff #000000
client.background #2B2C2B
client.background #2B2C2B
#############################
### settings for i3-gaps: ###
#############################
# Set inner/outer gaps
gaps inner 2
gaps outer 0
gaps inner 2
gaps outer 0
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on
smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
smart_borders on
smart_borders on
# Screen brightness controls
bindcode 232 exec brightnessctl set 5%-
bindcode 233 exec --no-startup-id brightnessctl set 5%+
bindcode 232 exec brightnessctl set 5%-
bindcode 233 exec --no-startup-id brightnessctl set 5%+
exec --no-startup-id nm-applet --sm-disable
exec --no-startup-id nm-applet --sm-disable
''}";
Xresources = "${pkgs.writeText "Xresources" ''
Xft.dpi: 96
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.dpi: 96
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
XTerm*background: #222D31
XTerm*foreground: #d8d8d8
XTerm*pointerColor: #1ABB9B
XTerm*faceName: Fixed
XTerm*faceSize: 11
XTerm*reverseVideo: on
XTerm*selectToClipboard: true
XTerm*background: #222D31
XTerm*foreground: #d8d8d8
XTerm*pointerColor: #1ABB9B
XTerm*faceName: Fixed
XTerm*faceSize: 11
XTerm*reverseVideo: on
XTerm*selectToClipboard: true
*background: #222D31
*foreground: #d8d8d8
*fading: 8
*fadeColor: black
*cursorColor: #1ABB9B
*pointerColorBackground: #2B2C2B
*pointerColorForeground: #16A085
*background: #222D31
*foreground: #d8d8d8
*fading: 8
*fadeColor: black
*cursorColor: #1ABB9B
*pointerColorBackground: #2B2C2B
*pointerColorForeground: #16A085
!! black dark/light
*color0: #222D31
*color8: #585858
!! black dark/light
*color0: #222D31
*color8: #585858
!! red dark/light
*color1: #ab4642
*color9: #ab4642
!! red dark/light
*color1: #ab4642
*color9: #ab4642
!! green dark/light
*color2: #7E807E
*color10: #8D8F8D
!! green dark/light
*color2: #7E807E
*color10: #8D8F8D
!! yellow dark/light
*color3: #f7ca88
*color11: #f7ca88
!! yellow dark/light
*color3: #f7ca88
*color11: #f7ca88
!! blue dark/light
*color4: #7cafc2
*color12: #7cafc2
!! blue dark/light
*color4: #7cafc2
*color12: #7cafc2
!! magenta dark/light
*color5: #ba8baf
*color13: #ba8baf
!! magenta dark/light
*color5: #ba8baf
*color13: #ba8baf
!! cyan dark/light
*color6: #1ABB9B
*color14: #1ABB9B
!! cyan dark/light
*color6: #1ABB9B
*color14: #1ABB9B
!! white dark/light
*color7: #d8d8d8
*color15: #f8f8f8
!! white dark/light
*color7: #d8d8d8
*color15: #f8f8f8
Xcursor.theme: xcursor-breeze
Xcursor.size: 0
Xcursor.theme: xcursor-breeze
Xcursor.size: 0
URxvt.font: 9x15,xft:TerminessTTFNerdFontMono
URxvt.font: 9x15,xft:TerminessTTFNerdFontMono
! alternative font settings with 'terminus':
! URxvt.font: -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso10646-1
! URxvt.bold.font: -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso10646-1
!! terminus names see end of file!
! alternative font settings with 'terminus':
! URxvt.font: -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso10646-1
! URxvt.bold.font: -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso10646-1
!! terminus names see end of file!
URxvt.depth: 32
URxvt.background: [100]#0f0f0f
URxvt.foreground: #a0a0a0
URxvt*scrollBar: false
URxvt*mouseWheelScrollPage: false
URxvt*cursorBlink: true
URxvt*background: black
URxvt*saveLines: 5000
URxvt.depth: 32
URxvt.background: [100]#0f0f0f
URxvt.foreground: #a0a0a0
URxvt*scrollBar: false
URxvt*mouseWheelScrollPage: false
URxvt*cursorBlink: true
URxvt*background: black
URxvt*saveLines: 5000
! for 'fake' transparency (without Compton) uncomment the following three lines
! URxvt*inheritPixmap: true
! URxvt*transparent: true
! URxvt*shading: 138
! for 'fake' transparency (without Compton) uncomment the following three lines
! URxvt*inheritPixmap: true
! URxvt*transparent: true
! URxvt*shading: 138
! Normal copy-paste keybindings without perls
URxvt.iso14755: false
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
!Xterm escape codes, word by word movement
URxvt.keysym.Control-Left: \033[1;5D
URxvt.keysym.Shift-Control-Left: \033[1;6D
URxvt.keysym.Control-Right: \033[1;5C
URxvt.keysym.Shift-Control-Right: \033[1;6C
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Shift-Control-Up: \033[1;6A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Shift-Control-Down: \033[1;6B
! Normal copy-paste keybindings without perls
URxvt.iso14755: false
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
!Xterm escape codes, word by word movement
URxvt.keysym.Control-Left: \033[1;5D
URxvt.keysym.Shift-Control-Left: \033[1;6D
URxvt.keysym.Control-Right: \033[1;5C
URxvt.keysym.Shift-Control-Right: \033[1;6C
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Shift-Control-Up: \033[1;6A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Shift-Control-Down: \033[1;6B
''}";
in
{
{
environment.systemPackages = with pkgs; [
i3status rofi arandr btop
firefox
@ -554,4 +554,4 @@ in
};
security.polkit.enable = true;
}
}

View file

@ -2,7 +2,7 @@
{ config, pkgs, ... }:
{
#################### Git configuration ####################
programs.git = {
programs.git = {
enable = true;
lfs.enable = true;
config = {
@ -20,10 +20,10 @@
gpg.format = "ssh";
commit.gpgsign = "true";
};
};
};
#################### Packages ####################
environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
cmake
gnumake
gcc
@ -35,10 +35,10 @@
python311Packages.pip
pypy3
rustup
];
];
#################### Neovim configuration ####################
programs.neovim = {
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
@ -65,8 +65,8 @@
customRC =
let
coc-config = "${pkgs.writeTextDir "coc-settings.json"
''
{
''
{
"workspace.ignoredFolders": [
"$HOME",
"$HOME/.cargo/**",
@ -79,8 +79,8 @@
rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe: true,
rust-analyzer.inlayHints.lifetimeElisionHints.enable: "always",
rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames: true
}
''}";
}
''}";
in
''
@ -160,6 +160,6 @@
" Nnoremap <S-k> <S-n>
" Let NERDTreeMapOpenExpl='\e'
'';
};
};
};
}
}

View file

@ -67,8 +67,8 @@
];
# HARDWARE SPECIFIC
boot.initrd.kernelModules = [ "amdgpu" ];
hardware = {
boot.initrd.kernelModules = [ "amdgpu" ];
hardware = {
opengl.extraPackages = with pkgs; [
rocmPackages.clr.icd
];
@ -76,9 +76,9 @@
enable = true;
enableGraphical = true;
};
};
};
services = {
services = {
xserver = {
videoDrivers = [ "amdgpu" "modesetting" ];
deviceSection = ''
@ -113,31 +113,31 @@
devmon.enable = true;
gvfs.enable = true;
udisks2.enable = true;
};
location = {
};
location = {
latitude = 60.17;
longitude = 24.94;
};
};
# Swap + hibernate
swapDevices = [
swapDevices = [
{
device = "/var/lib/swapfile";
size = 16*1024;
}
];
boot.resumeDevice = "/dev/mapper/luks-f6e1979b-0dee-4ee9-8170-10490019854b";
boot.kernelParams = [ "resume_offset=44537856" ];
services.logind = {
lidSwitch = "hibernate";
};
];
boot.resumeDevice = "/dev/mapper/luks-f6e1979b-0dee-4ee9-8170-10490019854b";
boot.kernelParams = [ "resume_offset=44537856" ];
services.logind = {
lidSwitch = "hibernate";
};
# Keychron Q11
services.udev.extraRules = ''
services.udev.extraRules = ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="01e0", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
'';
'';
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
}

View file

@ -9,9 +9,9 @@
# HARDWARE SPECIFIC
services.qemuGuest.enable = true;
services.qemuGuest.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
}

View file

@ -11,9 +11,9 @@
# HARDWARE SPECIFIC
services.qemuGuest.enable = true;
services.qemuGuest.enable = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
}

View file

@ -9,9 +9,9 @@
# HARDWARE SPECIFIC
services.qemuGuest.enable = true;
services.qemuGuest.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
}

View file

@ -33,12 +33,12 @@ in {
# This allows the wireguard server to route your traffic to the internet and hence be like a VPN
# For this to work you have to set the dnsserver IP of your router (or dnsserver of choice) in your clients
postSetup = ''
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o ${wg_interface} -j MASQUERADE
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o ${wg_interface} -j MASQUERADE
'';
# This undoes the above command
postShutdown = ''
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.100.0.0/24 -o ${wg_interface} -j MASQUERADE
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.100.0.0/24 -o ${wg_interface} -j MASQUERADE
'';
@ -78,14 +78,14 @@ ${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.100.0.0/24 -o ${wg_int
};
};
services.ddclient = {
services.ddclient = {
enable = true;
domains = [ "netflood.ddnsfree.com" ];
use = "web, web=checkip.dynu.com/, web-skip='IP Address'";
server = "api.dynu.com";
username = "VSinerva";
passwordFile = ddPassFile;
};
};
#################### EVERYTHING BELOW THIS SHOULD NOT NEED TO CHANGE ####################
boot = {

View file

@ -32,4 +32,4 @@
};
};
};
}
}

View file

@ -1,20 +0,0 @@
#Main local NFS server with /home/vili etc.
{ config, pkgs, ... }:
{
networking.firewall.allowedTCPPorts = [ 111 2049 4000 4001 4002 20048 ];
networking.firewall.allowedUDPPorts = [ 111 2049 4000 4001 4002 20048 ];
services.nfs.server =
{
enable = true;
# fixed rpc.statd port; for (proxmox) firewall
statdPort = 4000;
lockdPort = 4001;
mountdPort = 4002;
extraNfsdConfig = '''';
createMountPoints = true;
exports = ''
/mnt/srv/nixos-conf 192.168.0.0/23(rw,no_root_squash) 172.16.0.0/24(rw,no_root_squash) 192.168.2.0/23(no_root_squash) 192.168.4.0/22(no_root_squash) 192.168.8.0/23(no_root_squash)
'';
};
}

View file

@ -56,4 +56,4 @@
#TCP/UDP 22000 for transfers and UDP 21027 for discovery
openDefaultPorts = true;
};
}
}