# Edit this configuration file to define what should be installed on
|
|
# your system. Help is available in the configuration.nix(5) man page
|
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports =
|
|
[ # Include the results of the hardware scan.
|
|
./hardware-configuration.nix
|
|
(import (builtins.fetchGit { url = "https://github.com/rycee/home-manager.git"; ref = "master";}) {}).nixos
|
|
];
|
|
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
comptonkawase = pkgs.compton.overrideAttrs (oldAttrs: {
|
|
src = pkgs.fetchFromGitLab{
|
|
owner = "dorian7k7";
|
|
repo = "compton-kawase-blur";
|
|
rev = "4b9ac1e83fd783ea2dfa68dfc5f00da99722e12d";
|
|
sha256 = "0xc2hmhpa6zbw09xmhwacqhlgqfdc0g6d4b06r5k56c3ngafsyp0";
|
|
};
|
|
});
|
|
chromiumVAAPI = pkgs.chromium.override {
|
|
VAAPISupport = true;
|
|
};
|
|
};
|
|
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
nixpkgs.config.pulseaudio = true; #only mumble needs that
|
|
nixpkgs.config.android_sdk.accept_license = true; #why the fuck is that a config?
|
|
|
|
|
|
boot = {
|
|
plymouth.enable = true;
|
|
supportedFilesystems = [ "ntfs" ];
|
|
consoleLogLevel = 2; #TODO
|
|
tmpOnTmpfs = true; #tmp should be a tmpfs. thanks
|
|
kernelPackages = pkgs.linuxPackages_latest;
|
|
loader = {
|
|
grub = {
|
|
enable = true;
|
|
version = 2;
|
|
device = "/dev/sda"; # or "nodev" for efi only
|
|
|
|
};
|
|
};
|
|
};
|
|
|
|
networking = {
|
|
hostName = "nixos";
|
|
networkmanager.enable = true;
|
|
|
|
};
|
|
|
|
|
|
# Configure network proxy if necessary
|
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
|
|
# Select internationalisation properties.
|
|
i18n = {
|
|
consoleFont = "Lat2-Terminus16";
|
|
consoleKeyMap = "uk";
|
|
defaultLocale = "en_GB.UTF-8";
|
|
};
|
|
|
|
# Set your time zone.
|
|
time.timeZone = "Europe/Prague";
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
# $ nix search wget
|
|
environment.systemPackages = with pkgs; [
|
|
mumble_git
|
|
wget vim emacs
|
|
];
|
|
|
|
# Some programs need SUID wrappers, can be configured further or are
|
|
# started in user sessions.
|
|
# programs.mtr.enable = true;
|
|
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
|
|
|
# List services that you want to enable:
|
|
|
|
# Enable the OpenSSH daemon.
|
|
# services.openssh.enable = true;
|
|
|
|
# Open ports in the firewall.
|
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
# Or disable the firewall altogether.
|
|
# networking.firewall.enable = false;
|
|
|
|
# Enable CUPS to print documents.
|
|
# services.printing.enable = true;
|
|
hardware = {
|
|
cpu.intel.updateMicrocode = true; # super fast botnet upgrades
|
|
opengl.driSupport32Bit = true;
|
|
pulseaudio.enable = true; #hewwo lennart!
|
|
pulseaudio.support32Bit = true;
|
|
bluetooth.enable = true;
|
|
};
|
|
|
|
|
|
# Enable sound.
|
|
sound = {
|
|
enable = true;
|
|
mediaKeys.enable = true;
|
|
};
|
|
|
|
services = {
|
|
xserver = {
|
|
enable = true;
|
|
layout = "gb";
|
|
# services.xserver.xkbOptions = "eurosign:e";
|
|
libinput.enable = true;
|
|
displayManager.sddm.enable = true;
|
|
desktopManager = {
|
|
xterm.enable = false;
|
|
# plasma5 = {
|
|
# enable = true;
|
|
# enableQt4Support = true;
|
|
# };
|
|
};
|
|
windowManager.bspwm.enable = true;
|
|
windowManager.bspwm.configFile = "/home/klimi/.config/bspwm/bspwmrc";
|
|
windowManager.bspwm.sxhkd.configFile = "/home/klimi/.config/sxhkd/sxhkdrc";
|
|
|
|
};
|
|
};
|
|
|
|
systemd.services.autoGc = {
|
|
serviceConfig = {
|
|
ExecStart = "${config.nix.package.out}/bin/nix-collect-garbage --delete-older-than 14d";
|
|
};
|
|
};
|
|
programs.adb.enable = true;
|
|
|
|
|
|
|
|
# Enable the KDE Desktop Environment.
|
|
# services.xserver.displayManager.sddm.enable = true;
|
|
# services.xserver.desktopManager.plasma5.enable = true;
|
|
|
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
users.extraUsers = {
|
|
klimi = {
|
|
isNormalUser = true;
|
|
uid = 1000;
|
|
home = "/home/klimi";
|
|
extraGroups = [ "wheel" "networkmanager" "video" "adbusers" "kvm" ];
|
|
shell = pkgs.zsh;
|
|
};
|
|
};
|
|
environment.pathsToLink = [ "/share/zsh" ]; #systemd-autocomplete uwu
|
|
nix.nixPath = ["nixpkgs=http://nixos.org/channels/nixos-19.03/nixexprs.tar.xz" "nixos-config=/home/klimi/configs/klimi\'s\ config/configuration.nix" ]; #i moved my config to my home, cool hm?
|
|
home-manager.users.klimi =
|
|
let
|
|
unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) { }; #scrap the master plan. system on nixos-stable, rest pretty much stable
|
|
master = import (builtins.fetchTarball { url = https://github.com/NixOS/nixpkgs/archive/master.tar.gz; }) {};
|
|
stable = import (builtins.fetchTarball { url = https://github.com/NixOS/nixpkgs/archive/release-18.09.tar.gz; }) {};
|
|
|
|
in {
|
|
programs.zsh.enable = true;
|
|
programs.zsh.history.size = 1000000;
|
|
programs.zsh.oh-my-zsh.enable = true;
|
|
programs.zsh.oh-my-zsh.plugins = ["history" "git" "cp" "systemd" "colorize" "command-not-found"];
|
|
programs.zsh.plugins = [
|
|
{
|
|
name = "zsh-autosuggestions";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "zsh-users";
|
|
repo = "zsh-autosuggestions";
|
|
rev = "v0.5.0";
|
|
sha256 = "19qkg4b2flvnp2l0cbkl4qbrnl8d3lym2mmh1mx9nmjd7b81r3pf";
|
|
};
|
|
}
|
|
{
|
|
name = "zsh-syntax-highlighting";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "zsh-users";
|
|
repo = "zsh-syntax-highlighting";
|
|
rev = "v0.6.0";
|
|
sha256 = "0zmq66dzasmr5pwribyh4kbkk23jxbpdw4rjxx0i7dx8jjp2lzl4";
|
|
};
|
|
}
|
|
];
|
|
|
|
programs.zsh.oh-my-zsh.theme = "agnoster";
|
|
programs.zsh.shellAliases = {
|
|
nup = "env NIXPKGS_ALLOW_UNFREE=1 sudo -E nixos-rebuild switch --upgrade && rm ~/.cache/ksycoca5_* -rf && kbuildsycoca5 && kbuildsycoca5 --noincremental";
|
|
nupc = "sudo nix-collect-garbage -d && sudo nix-store --optimise && env NIXPKGS_ALLOW_UNFREE=1 sudo -E nixos-rebuild switch --upgrade && rm ~/.cache/ksycoca5_* -rf && kbuildsycoca5 && kbuildsycoca5 --noincremental";
|
|
}; # what the fuck is that? nix-store --optimise takes a long time on large stores. Though hardlinking can improve a lot sometimes... might as well use it "sometimes"
|
|
programs.zsh.initExtra = ''zstyle ':completion:*' rehash true
|
|
if [[ -d "$HOME/.zim" ]]; then
|
|
else
|
|
git clone --recursive https://github.com/zimfw/zimfw.git $HOME/.zim
|
|
for template_file in $HOME/.zim/templates/*; do
|
|
user_file="$HOME/.''${template_file:t}"
|
|
cat ''${template_file} ''${user_file}(.N) > ''${user_file}.tmp && mv ''${user_file}{.tmp,}
|
|
done
|
|
fi
|
|
export ZIM_HOME=$HOME/.zim
|
|
[[ -s ''${ZIM_HOME}/init.zsh ]] && source ''${ZIM_HOME}/init.zsh
|
|
''; #autorehash and sourcing .profile makes sense. Installing zim zsh because me likey
|
|
|
|
nixpkgs.config.allowUnfree = true; #forgive me stallman for i have sinned. x11vnc sucks though
|
|
|
|
home.file = {
|
|
".Xmodmap".text = ''
|
|
!
|
|
! Swap Caps_Lock and Control_L
|
|
!
|
|
remove Lock = Caps_Lock
|
|
remove Control = Control_L
|
|
keysym Control_L = Caps_Lock
|
|
keysym Caps_Lock = Control_L
|
|
add Lock = Caps_Lock
|
|
add Control = Control_L
|
|
'';#who needs caps
|
|
".config/bspwm/bspwmrc".executable = true;
|
|
".config/bspwm/bspwmrc".text = ''
|
|
#!/bin/sh
|
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
|
export XDG_CURRENT_DESKTOP=GNOME
|
|
export QT_QPA_PLATFORMTHEME="qt5ct"
|
|
export QT_AUTO_SCREEN_SCALE_FACTOR=0
|
|
export TERM=rxvt
|
|
setxkbmap gb
|
|
bspc config focus_follows_pointer true
|
|
bspc monitor -d 1 2 3 4 5 6 7 8 9 0
|
|
bspc config border_width 1
|
|
bspc config window_gap 4
|
|
bspc config split_ratio 0.52
|
|
bspc config borderless_monocle true
|
|
bspc config gapless_monocle true
|
|
feh --bg-scale /home/klimi/.local/TODO.png
|
|
QSyncthingTray &
|
|
nm-applet &
|
|
pa-applet &
|
|
xmodmap ~/.Xmodmap &
|
|
telegram-desktop -startintray &
|
|
keepassxc &
|
|
'';
|
|
".config/sxhkd/sxhkdrc".executable = true;
|
|
".config/sxhkd/sxhkdrc".text = ''
|
|
# screen-locker
|
|
XF86Launch1
|
|
i3lock-fancy
|
|
# brightness
|
|
XF86MonBrightnessUp
|
|
light -A 10
|
|
XF86MonBrightnessDown
|
|
light -U 10
|
|
# toggle terminal
|
|
super + Return
|
|
alacritty
|
|
|
|
# program launchers
|
|
super + @space
|
|
rofi -show drun
|
|
|
|
alt + @space
|
|
dmenu_run
|
|
|
|
# make sxhkd reload its configuration files:
|
|
super + Escape
|
|
pkill -USR1 -x sxhkd
|
|
|
|
#
|
|
# bspwm hotkeys
|
|
#
|
|
|
|
# quit an application
|
|
super + alt + q
|
|
bspc node -c
|
|
|
|
# kill an application
|
|
|
|
super +alt + shift + q
|
|
bspc node -k
|
|
# alternate between the tiled and monocle layout
|
|
super + m
|
|
bspc desktop -l next
|
|
|
|
# send the newest marked node to the newest preselected node
|
|
super + y
|
|
bspc node newest.marked.local -n newest.!automatic.local
|
|
|
|
# swap the current node and the biggest node
|
|
super + g
|
|
bspc node -s biggest
|
|
|
|
#
|
|
# state/flags
|
|
#
|
|
|
|
# set the window state
|
|
super + {t,shift + t,s,f}
|
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
|
|
|
# set the node flags
|
|
super + ctrl + {m,x,y,z}
|
|
bspc node -g {marked,locked,sticky,private}
|
|
|
|
#
|
|
# focus/swap
|
|
#
|
|
|
|
# focus the node in the given direction
|
|
super + {_,shift + }{h,j,k,l}
|
|
bspc node -{f,s} {west,south,north,east}
|
|
|
|
# focus the node for the given path jump
|
|
super + {p,b,comma,period}
|
|
bspc node -f @{parent,brother,first,second}
|
|
|
|
# focus the next/previous node in the current desktop
|
|
super + {_,shift + }c
|
|
bspc node -f {next,prev}.local
|
|
alt + Tab
|
|
bspc node -f next.local
|
|
alt + shift + Tab
|
|
bspc node -f prev.local
|
|
|
|
# focus the next/previous desktop in the current monitor
|
|
super + alt + {a,s}
|
|
bspc desktop -f {prev,next}
|
|
|
|
# focus the last node/desktop
|
|
super + {grave,Tab}
|
|
bspc {node,desktop} -f last
|
|
|
|
# focus the older or newer node in the focus history
|
|
super + {o,i}
|
|
bspc wm -h off; \
|
|
bspc node {older,newer} -f; \
|
|
bspc wm -h on
|
|
|
|
# focus or send to the given desktop
|
|
super + {_,shift + }{1,2,3,4,5,6,7,8,9}
|
|
bspc {desktop -f,node -d} '^{1,2,3,4,5,6,7,8,9}'
|
|
|
|
super + {_,shift + } +0
|
|
bspc {desktop -f,node -d} '^10'
|
|
#
|
|
# preselect
|
|
#
|
|
|
|
# preselect the direction
|
|
super + ctrl + {h,j,k,l}
|
|
bspc node -p {west,south,north,east}
|
|
|
|
# preselect the ratio
|
|
super + ctrl + {1-9}
|
|
bspc node -o 0.{1-9}
|
|
|
|
# cancel the preselection for the focused node
|
|
super + ctrl + space
|
|
bspc node -p cancel
|
|
|
|
# cancel the preselection for the focused desktop
|
|
super + ctrl + shift + space
|
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
|
|
|
#
|
|
# move/resize
|
|
#
|
|
|
|
# expand a window by moving one of its side outward
|
|
super + alt + {h,j,k,l}
|
|
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
|
|
|
# contract a window by moving one of its side inward
|
|
super + alt + shift + {h,j,k,l}
|
|
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
|
|
|
# move a floating window
|
|
super + {Left,Down,Up,Right}
|
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
|
'';
|
|
".config/alacritty/alacritty.yml".executable = true;
|
|
".config/alacritty/alacritty.yml".text = ''window:
|
|
dimensions:
|
|
columns: 0
|
|
lines: 0
|
|
padding:
|
|
x: 2
|
|
y: 2
|
|
dynamic_padding: false
|
|
decorations: full
|
|
start_maximized: false
|
|
scrolling:
|
|
history: 10000
|
|
multiplier: 3
|
|
faux_multiplier: 3
|
|
auto_scroll: false
|
|
tabspaces: 8
|
|
font:
|
|
size: 11.0
|
|
offset:
|
|
x: 0
|
|
y: 0
|
|
glyph_offset:
|
|
x: 0
|
|
y: 0
|
|
use_thin_strokes: true
|
|
render_timer: false
|
|
persistent_logging: false
|
|
draw_bold_text_with_bright_colors: true
|
|
colors:
|
|
primary:
|
|
background: '0x000000'
|
|
foreground: '0xeaeaea'
|
|
normal:
|
|
black: '0x000000'
|
|
red: '0xd54e53'
|
|
green: '0xb9ca4a'
|
|
yellow: '0xe6c547'
|
|
blue: '0x7aa6da'
|
|
magenta: '0xc397d8'
|
|
cyan: '0x70c0ba'
|
|
white: '0xeaeaea'
|
|
bright:
|
|
black: '0x666666'
|
|
red: '0xff3334'
|
|
green: '0x9ec400'
|
|
yellow: '0xe7c547'
|
|
blue: '0x7aa6da'
|
|
magenta: '0xb77ee0'
|
|
cyan: '0x54ced6'
|
|
white: '0xffffff'
|
|
indexed_colors: []
|
|
visual_bell:
|
|
animation: EaseOutExpo
|
|
duration: 0
|
|
color: '0xffffff'
|
|
background_opacity: 0.4
|
|
mouse_bindings:
|
|
- { mouse: Middle, action: PasteSelection }
|
|
mouse:
|
|
double_click: { threshold: 300 }
|
|
triple_click: { threshold: 300 }
|
|
hide_when_typing: false
|
|
url:
|
|
modifiers: None
|
|
selection:
|
|
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
|
save_to_clipboard: false
|
|
dynamic_title: true
|
|
cursor:
|
|
style: Block
|
|
unfocused_hollow: true
|
|
live_config_reload: true
|
|
enable_experimental_conpty_backend: false
|
|
alt_send_esc: true
|
|
key_bindings:
|
|
- { key: Paste, action: Paste }
|
|
- { key: Copy, action: Copy }
|
|
- { key: L, mods: Control, action: ClearLogNotice }
|
|
- { key: L, mods: Control, chars: "\x0c" }
|
|
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
|
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
|
- { key: End, chars: "\x1bOF", mode: AppCursor }
|
|
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
|
|
- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
|
|
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~", mode: Alt }
|
|
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
|
|
- { key: PageUp, chars: "\x1b[5~" }
|
|
- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
|
|
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~", mode: Alt }
|
|
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
|
|
- { key: PageDown, chars: "\x1b[6~" }
|
|
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
|
|
- { key: Back, chars: "\x7f" }
|
|
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
|
|
- { key: Insert, chars: "\x1b[2~" }
|
|
- { key: Delete, chars: "\x1b[3~" }
|
|
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
|
|
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
|
|
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
|
|
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
|
|
- { key: Left, chars: "\x1bOD", mode: AppCursor }
|
|
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
|
|
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
|
|
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
|
|
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
|
|
- { key: Right, chars: "\x1bOC", mode: AppCursor }
|
|
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
|
|
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
|
|
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
|
|
- { key: Up, chars: "\x1bOA", mode: AppCursor }
|
|
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
|
|
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
|
|
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
|
|
- { key: Down, chars: "\x1bOB", mode: AppCursor }
|
|
- { key: F1, chars: "\x1bOP" }
|
|
- { key: F2, chars: "\x1bOQ" }
|
|
- { key: F3, chars: "\x1bOR" }
|
|
- { key: F4, chars: "\x1bOS" }
|
|
- { key: F5, chars: "\x1b[15~" }
|
|
- { key: F6, chars: "\x1b[17~" }
|
|
- { key: F7, chars: "\x1b[18~" }
|
|
- { key: F8, chars: "\x1b[19~" }
|
|
- { key: F9, chars: "\x1b[20~" }
|
|
- { key: F10, chars: "\x1b[21~" }
|
|
- { key: F11, chars: "\x1b[23~" }
|
|
- { key: F12, chars: "\x1b[24~" }
|
|
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
|
|
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
|
|
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
|
|
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
|
|
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
|
|
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
|
|
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
|
|
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
|
|
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
|
|
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
|
|
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
|
|
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
|
|
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
|
|
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
|
|
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
|
|
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
|
|
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
|
|
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
|
|
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
|
|
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
|
|
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
|
|
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
|
|
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
|
|
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
|
|
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
|
|
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
|
|
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
|
|
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
|
|
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
|
|
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
|
|
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
|
|
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
|
|
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
|
|
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
|
|
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
|
|
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
|
|
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
|
|
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
|
|
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
|
|
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
|
|
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
|
|
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
|
|
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
|
|
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
|
|
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
|
|
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
|
|
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
|
|
- { key: F12, mods: Super, chars: "\x1b[24;3~" }
|
|
- { key: NumpadEnter, chars: "\n" }
|
|
- { key: Up, mods: Control, action: IncreaseFontSize }
|
|
- { key: Down, mods: Control, action: DecreaseFontSize }
|
|
'';
|
|
".Xdefaults".executable =true;
|
|
".Xdefaults".text = ''
|
|
*foreground: #00cc00
|
|
*foreground_bold: #a8a19f
|
|
*cursor: #a8a19f
|
|
*background: #1b1918
|
|
!!*background: rgba(0, 0, 0, .7)
|
|
|
|
!! black
|
|
*color0: #1b1918
|
|
*color8: #766e6b
|
|
!! red
|
|
*color1: #f22c40
|
|
*color9: #f22c40
|
|
!! green
|
|
*color2: #5ab738
|
|
*color10: #5ab738
|
|
!! yellow
|
|
*color3: #d5911a
|
|
*color11: #d5911a
|
|
!! blue
|
|
*color4: #407ee7
|
|
*color12: #407ee7
|
|
!! magenta
|
|
*color5: #6666ea
|
|
*color13: #6666ea
|
|
!! cyan
|
|
*color6: #00ad9c
|
|
*color14: #00ad9c
|
|
!! white
|
|
*color7: #a8a19f
|
|
*color15: #f1efee
|
|
|
|
rofi.color-enabled: true
|
|
rofi.color-window: #000, #000, #000
|
|
rofi.color-normal: #111, #819396, #222, #008ed4, #ffffff
|
|
rofi.color-active: #002b37, #008ed4, #003643, #008ed4, #66c6ff
|
|
rofi.color-urgent: #002b37, #da4281, #003643, #008ed4, #890661
|
|
|
|
rofi.fake-transparency: true
|
|
rofi.lines: 3
|
|
rofi.bw: 0
|
|
rofi.opacity: "10"
|
|
rofi.hide-scrollbar: true
|
|
rofi.width: 30
|
|
|
|
Xcursor.theme: Maya-Blue
|
|
'';
|
|
};
|
|
|
|
services = {
|
|
dunst.enable = true;
|
|
# flameshot.enable = true;
|
|
network-manager-applet.enable = true;
|
|
nextcloud-client.enable = true;
|
|
pasystray.enable = true;
|
|
compton = {
|
|
enable = true;
|
|
package = pkgs.comptonkawase;
|
|
extraOptions = ''
|
|
glx-no-stencil = true;
|
|
glx-copy-from-front = false;
|
|
glx-swap-method = "undefined";
|
|
|
|
shadow = true;
|
|
no-dnd-shadow = true;
|
|
no-dock-shadow = true;
|
|
# clear-shadow = true;
|
|
shadow-radius = 5;
|
|
shadow-offset-x = -5;
|
|
shadow-offset-y = -5;
|
|
shadow-opacity = 0.5;
|
|
shadow-ignore-shaped = false;
|
|
frame-opacity = 1;
|
|
inactive-opacity-override = false;
|
|
alpha-step = 0.06;
|
|
|
|
blur-method = "kawase";
|
|
blur-strength = 10;
|
|
blur-background = true;
|
|
blur-background-frame = true;
|
|
|
|
mark-wmwin-focused = true;
|
|
mark-ovredir-focused = true;
|
|
use-ewmh-active-win = true;
|
|
detect-rounded-corners = true;
|
|
detect-client-opacity = true;
|
|
|
|
|
|
dbe = false;
|
|
paint-on-overlay = true;
|
|
sw-opti = true;
|
|
unredir-if-possible = true;
|
|
focus-exclude = [ ];
|
|
detect-transient = true;
|
|
detect-client-leader = true;
|
|
wintypes :
|
|
{
|
|
tooltip :
|
|
{
|
|
fade = true;
|
|
shadow = false;
|
|
opacity = 0.85;
|
|
focus = true;
|
|
};
|
|
};
|
|
'';
|
|
};
|
|
polybar.enable = true;
|
|
polybar.script = "polybar top &";
|
|
polybar.config = {
|
|
"colors" = {
|
|
background = "#00000000";
|
|
background-alt = "#444";
|
|
foreground = "#003256";
|
|
foreground-alt = "#21840d";
|
|
primary = "#ff0000";
|
|
secondary = "#ff0c00";
|
|
alert = "#bd2c40";
|
|
col = "#00f";
|
|
};
|
|
"bar/top" = {
|
|
width = "100%";
|
|
height = "24";
|
|
fixed-center = "false";
|
|
background = "\${colors.background}";
|
|
foreground = "\${colors.foreground}";
|
|
line-size = "3";
|
|
line-color = "{$xrdb:color1}";
|
|
border-size = "0";
|
|
border-color = "#00000000";
|
|
padding-left = "0";
|
|
padding-right = "0";
|
|
module-margin-left = "1";
|
|
module-margin-right = "2";
|
|
font-0 = "mono:pixelsize=9;1";
|
|
modules-center = "bspwm";
|
|
modules-right = "cpu memory filesystem wlan eth battery temperature date";
|
|
tray-position = "right";
|
|
tray-padding = "0 ";
|
|
};
|
|
"module/filesystem" = {
|
|
type = "internal/fs";
|
|
interval = "25";
|
|
mount-0 = "/";
|
|
label-mounted = "%mountpoint%: %used%/%total%: %percentage_used%%";
|
|
label-unmounted = "%mountpoint% not mounted";
|
|
label-unmounted-foreground = "\${colors.foreground-alt}";
|
|
};
|
|
"module/bspwm" = {
|
|
wm-restack = "bspwm";
|
|
scroll-up = "bspwm-desknext";
|
|
scroll-down = "bspwm-deskprev";
|
|
type = "internal/bspwm";
|
|
label-focused = "%index%";
|
|
label-focused-background = "\${colors.background-alt}";
|
|
label-focused-underline= "\${colors.primary}";
|
|
label-focused-padding = "2";
|
|
label-occupied = "%index%";
|
|
label-occupied-padding = "2";
|
|
label-urgent = "%index%!";
|
|
label-urgent-background = "\${colors.alert}";
|
|
label-urgent-padding = "2";
|
|
label-empty = "%index%";
|
|
label-empty-foreground = "\${colors.foreground-alt}";
|
|
label-empty-padding = "2";
|
|
};
|
|
"module/cpu" = {
|
|
type = "internal/cpu";
|
|
interval = "2";
|
|
format-prefix = "CPU: ";
|
|
label = "%percentage%%";
|
|
};
|
|
"module/memory" = {
|
|
type = "internal/memory";
|
|
interval = "2";
|
|
format-prefix = "MEM: ";
|
|
label = "%percentage_used%%";
|
|
};
|
|
"module/wlan" = {
|
|
type = "internal/network";
|
|
interface = "wlan0";
|
|
interval = "3.0";
|
|
format-connected = "<label-connected>";
|
|
format-connected-underline = "\${colors.primary}";
|
|
label-connected = "%essid%";
|
|
format-disconnected = "<label-disconnected>";
|
|
format-disconnected-underline = "\${colors.foreground}";
|
|
label-disconnected = "no wifi";
|
|
label-disconnected-foreground = "\${colors.foreground-alt}";
|
|
};
|
|
"module/eth" = {
|
|
type = "internal/network";
|
|
interface = "eth0";
|
|
interval = "3.0";
|
|
format-connected-underline = "\${colors.primary}";
|
|
format-connected-prefix-foreground = "\${colors.primary}";
|
|
label-connected = "%local_ip%";
|
|
format-disconnected = "<label-disconnected>";
|
|
format-disconnected-underline = "\${colors.foreground}";
|
|
label-disconnected = "no eth";
|
|
label-disconnected-foreground = "\${colors.foreground-alt}";
|
|
};
|
|
"module/date" = {
|
|
type = "internal/date";
|
|
interval = "1 ";
|
|
date = "%A, the %d.%m(%B).%Y";
|
|
time = ", %X";
|
|
format-underline = "\${colors.foreground-alt}";
|
|
label = "%date% %time%";
|
|
};
|
|
"module/battery" = {
|
|
type = "internal/battery";
|
|
battery = "BAT0";
|
|
adapter = "ADP1";
|
|
full-at = "98";
|
|
format-charging = "<label-charging>";
|
|
format-charging-underline = "\${colors.primary}";
|
|
format-discharging = "<label-discharging>";
|
|
format-discharging-underline = "\${colors.foreground}";
|
|
format-full-prefix = "Full ";
|
|
format-full-prefix-foreground = "\${colors.foreground-alt}";
|
|
format-full-underline = "\${colors.foreground-alt}";
|
|
};
|
|
"module/temperature" = {
|
|
type = "internal/temperature";
|
|
thermal-zone = "0";
|
|
warn-temperature = "60";
|
|
format = "<label>";
|
|
format-underline = "\${colors.foreground-alt}";
|
|
format-warn = "<label-warn>";
|
|
format-warn-underline = "\${colors.primary}";
|
|
label = "%temperature-c%";
|
|
label-warn = "%temperature-c%";
|
|
label-warn-foreground = "\${colors.secondary}";
|
|
};
|
|
"settings" = {
|
|
screenchange-reload = "true";
|
|
};
|
|
"global/wm" = {
|
|
margin-top = "5";
|
|
margin-bottom = "5";
|
|
};
|
|
};
|
|
screen-locker = {
|
|
enable = true;
|
|
lockCmd = "i3lock-fancy";
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
|
(winetricks.override { wine = wineWowPackages.full; })
|
|
wineWowPackages.full
|
|
|
|
unstable.firefox
|
|
unstable.alacritty
|
|
unstable.i3lock-fancy
|
|
unstable.glxinfo
|
|
unstable.arc-kde-theme
|
|
unstable.ark
|
|
unstable.pa_applet
|
|
unstable.qsyncthingtray
|
|
unstable.rofi
|
|
unstable.dmenu
|
|
|
|
unstable.chromium
|
|
unstable.arc-kde-theme
|
|
unstable.ark
|
|
unstable.cmatrix
|
|
unstable.evince
|
|
unstable.file
|
|
unstable.filezilla
|
|
unstable.ffmpeg-full
|
|
unstable.flameshot #is gud
|
|
unstable.gimp
|
|
unstable.git
|
|
unstable.glibcLocales
|
|
unstable.glxinfo
|
|
unstable.htop
|
|
unstable.jdk
|
|
unstable.kdeApplications.gwenview
|
|
unstable.keepassxc
|
|
unstable.krename-qt5
|
|
unstable.libreoffice
|
|
unstable.lm_sensors
|
|
unstable.lolcat
|
|
unstable.mpv
|
|
unstable.ncdu
|
|
unstable.nextcloud-client
|
|
unstable.nix-index #i can search for files in nix packages... coool
|
|
unstable.notepadqq #hurrdurr emacs masterrace
|
|
unstable.oxygen #pretty hard to breathe without
|
|
unstable.oxygen-icons5
|
|
unstable.pavucontrol
|
|
unstable.pciutils #why the fuck is lspci included in here but not in base?
|
|
unstable.pcsx2 #wanna heat up my notebook?
|
|
unstable.powertop
|
|
unstable.qbittorrent
|
|
unstable.qsyncthingtray
|
|
unstable.quasselClient
|
|
unstable.qownnotes
|
|
unstable.quaternion #qool matrix client
|
|
unstable.quota
|
|
unstable.smplayer
|
|
unstable.steam
|
|
unstable.syncthing
|
|
unstable.tdesktop
|
|
unstable.thunderbird
|
|
unstable.tigervnc
|
|
unstable.toilet
|
|
unstable.unrar
|
|
unstable.unzip
|
|
unstable.vimHugeX
|
|
unstable.vlc
|
|
unstable.vscodium #powershell indent crashes on windows
|
|
unstable.weechat
|
|
unstable.x11vnc
|
|
unstable.xorg.xev #pressing keys n fun
|
|
unstable.xorg.xmodmap
|
|
unstable.xrdp
|
|
#unstable.yakuake #i should configure it already
|
|
unstable.youtube-dl
|
|
];
|
|
};
|
|
|
|
# This value determines the NixOS release with which your system is to be
|
|
# compatible, in order to avoid breaking some software such as database
|
|
# servers. You should change this only after NixOS release notes say you
|
|
# should.
|
|
powerManagement.enable = true;
|
|
powerManagement.powertop.enable = true;
|
|
system.copySystemConfiguration = true;
|
|
|
|
system.stateVersion = "19.03"; # Did you read the comment?
|
|
|
|
}
|