This commit is contained in:
2024-02-27 13:55:59 -07:00
parent 8bef0233ba
commit 33df980fa6
36 changed files with 586 additions and 241 deletions

View File

@@ -31,6 +31,10 @@ in {
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
users.users.${username} = {
shell = pkgs.fish;
};
services.xserver = {
layout = "us";
xkb.options = "caps:swapescape,altwin:swap_alt_win";

View File

@@ -2,25 +2,31 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, inputs, ... }:
{ config, pkgs, helpers, extraPkgs, ... }:
let
username = "dakedres";
in {
custom.username = username;
imports = [
imports =
helpers.getModules "/default.nix" (import ./modules.nix) ++ [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
./user.nix
];
home-manager.users."${username}" = {
imports = helpers.getModules "/home.nix" (import ./modules.nix) ++ [
../../common/home.nix
./home.nix
];
config.custom.username = username;
};
users.users.${username} = {
isNormalUser = true;
description = "Dakedres";
extraGroups = [ "networkmanager" "wheel" ];
shell = pkgs.fish;
shell = pkgs.zsh;
};
# We live in a society
@@ -30,6 +36,8 @@ in {
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = [ "ntfs" ];
# That's what it's called
networking.hostName = "vulpes";
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
@@ -66,7 +74,8 @@ in {
# Enable the KDE Plasma Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
services.xserver.desktopManager.lxqt.enable = true;
services.xserver.windowManager.openbox.enable = true;
# Configure keymap in X11
services.xserver = {
@@ -104,16 +113,16 @@ in {
# services.xserver.libinput.enable = true;
services.flatpak.enable = true;
xdg.portal.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
git
wget
micro
openconnect
btop
environment.systemPackages = [
pkgs.git
pkgs.wget
pkgs.micro
pkgs.openconnect
pkgs.btop
];
# Some programs need SUID wrappers, can be configured further or are

View File

@@ -7,8 +7,9 @@
# in {
{
custom.colors = import ../themes/colors/base16-monokai.nix;
custom.wallpaper = ../wallpapers/blip-blip-blip-blip.jpg;
custom.wallpaper = ../../wallpapers/currents.jpg;
imports = [ ../../themes/kaolin-dark ];
# custom.colors = import ../../themes/colors/base16-monokai.nix;
home = {
sessionVariables = {
@@ -17,9 +18,6 @@
TERMINAL = "kitty";
TERM = "kitty";
FILEMANAGER = "kitty lf";
# Tell Electron apps it's wayland time
NIXOS_OZONE_WL = 1;
};
sessionPath = [
@@ -38,15 +36,27 @@
pkgs.imagemagick
pkgs.kate
pkgs.helix
pkgs.vscodium
#Games
# Development
pkgs.vscodium
pkgs.edwood
pkgs.vim
pkgs.helix
pkgs.yarn
# Games
pkgs.prismlauncher-qt5
# Other
pkgs.figlet
# Env
pkgs.eww-wayland
# pkgs.eww-wayland
pkgs.tela-icon-theme
pkgs.socat
pkgs.jq
pkgs.xdotool
pkgs.goawk
];
custom.nonFreePackages = [
@@ -69,6 +79,16 @@
];
};
xdg.desktopEntries.edwood = {
name = "ACME";
genericName = "IDE";
exec = "edwood %U";
terminal = false;
categories = [ "Application" "Development" ];
};
xdg.portal.enable = true;
# Standard programs
programs.bat = {
enable = true;
@@ -77,5 +97,9 @@
};
};
programs.go.enable = true;
programs.skim.enable = true;
services.blueman-applet.enable = true;
}

View File

@@ -1,11 +1,18 @@
[
../modules/fish
../modules/qutebrowser
../modules/kitty
../modules/lf
../../modules/zsh
../../modules/qutebrowser
../../modules/kitty
../../modules/lf
../../modules/sioyek
../../modules/emacs
../modules/ncspot
../../modules/ncspot
../../modules/syncthing
../../modules/art
../modules/bspwm
../modules/blueman
../../modules/bspwm
../../modules/blueman
../../modules/picom
../../fonts/ubuntu
]

View File

@@ -1,176 +0,0 @@
#
# wm independent hotkeys
#
# Open kitty
alt + Return
kitty
# Open floating kitty
alt + shift + Return
bsp-float kitty
# launch program
alt + @space
rofi -show run
# launch program as root
alt + shift + @space
rofi-ask rofi -show drun -run-command "sudo -A {cmd}"
# make sxhkd reload its configuration files:
alt + Escape
pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded'
# Start a qutebrowser search
alt + o
qutesearch
# Show keybinds
alt + slash
sxhkd-help
# Show clipmenu
alt + v
rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
alt + shift + v
greenclip clear
#
# bspwm hotkeys
#
# quit/restart bspwm
alt + shift + {q,r}
bspc {quit,wm -r}
# close and kill
alt + {_,shift + }w
bspc node -{c,k}
alt + q
bspc node -c
# alternate between the tiled and monocle layout
alt + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
alt + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest window
alt + g
bspc node -s biggest.window
# Reveal hidden kitty (scratchpad)
alt + super + Return
bsp-toggle-visibility KittyScratch "kitty --class KittyScratch"
# flameshot
alt + Print
flameshot gui
#
# state/flags
#
# set the window state
alt + {z,shift + z,x,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
alt + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
#
# focus/swap
#
# focus the node in the given direction
alt + {h,j,k,l,Left,Down,Up,Right}
bspc node -{f} {west,south,north,east,west,south,north,east}
# focus the node for the given path jump
alt + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous window in the current desktop
alt + {a,d}
bspc node -f {next,prev}.local.!hidden.window
# focus the next/previous desktop in the current monitor
alt + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
alt + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
alt + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
alt + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
#
# preselect
#
# preselect the direction
alt + ctrl + shift {h,j,k,l,Left,Down,Up,Right}
bspc node -p {west,south,north,east,west,south,north,east}
# preselect the ratio
alt + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
alt + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
alt + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
# Resize a window by moving one of its side outward/inward
alt + s ; {h,j,k,l,Left,Down,Up,Right}
STEP=20; SELECTION={1,2,3,4,1,2,3,4}; \
bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \
bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION)
# move a floating window
alt + {h,j,k,l}
bspc node -v {-30 0,0 20,0 -30,20 0}
# move a not-floating window
alt + shift + {h,j,k,l,Left,Down,Up,Right}
bsp-smove {west,south,north,east,west,south,north,east}
#
# tabs
#
# move in/out of tabbed container
alt + ctrl + {h,j,k,l,Left,Down,Up,Right}
tabc-smart-detach {west,south,north,east,west,south,north,east}
# tab/untab window
alt + t
id=$(bspc query -N -n); \
[[ "$(tabc printclass $id)" == "tabbed" ]] \
&& tabc detach $id \
|| tabc create $id
# toggle autoattach in tabbed container
alt + shift + t
tabc autoattach $(bspc query -N -n)