diff --git a/common/helpers.nix b/common/helpers.nix index afebf0b..3150a28 100644 --- a/common/helpers.nix +++ b/common/helpers.nix @@ -22,4 +22,4 @@ modules ) ); -} \ No newline at end of file +} diff --git a/common/home.nix b/common/home.nix index 25219d7..d16106e 100644 --- a/common/home.nix +++ b/common/home.nix @@ -52,6 +52,10 @@ home = { username = username; homeDirectory = "/home/${username}"; + + sessionVariables = { + XDG_CONFIG_HOME = config.xdg.configHome; + }; }; # Unfree packages diff --git a/flake.lock b/flake.lock index 65385a5..6455f7a 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,67 @@ { "nodes": { + "crane": { + "inputs": { + "nixpkgs": [ + "niripkg", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1702918879, + "narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=", + "owner": "ipetkov", + "repo": "crane", + "rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "fenix": { + "inputs": { + "nixpkgs": [ + "niripkg", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1701411808, + "narHash": "sha256-K8QDx8UgbvGdENuvPvcsCXcd8brd55OkRDFLBT7xUVY=", + "owner": "nix-community", + "repo": "fenix", + "rev": "3776d0e2a30184cc6a0ba20fb86dc6df5b41fccd", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "monthly", + "repo": "fenix", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -20,6 +82,45 @@ "type": "github" } }, + "niripkg": { + "inputs": { + "crane": "crane", + "fenix": "fenix", + "flake-utils": "flake-utils", + "nix-filter": "nix-filter", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1706727758, + "narHash": "sha256-AYeC0yr/a3qPb+DvexaFkli7vixh12MMZtpeIoMiohY=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "2e50f8dee0f877f8192d04cc2c910fd9efe8451b", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, + "nix-filter": { + "locked": { + "lastModified": 1701697642, + "narHash": "sha256-L217WytWZHSY8GW9Gx1A64OnNctbuDbfslaTEofXXRw=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "c843418ecfd0344ecb85844b082ff5675e02c443", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1705496572, @@ -39,8 +140,41 @@ "root": { "inputs": { "home-manager": "home-manager", + "niripkg": "niripkg", "nixpkgs": "nixpkgs" } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1701372675, + "narHash": "sha256-MSHhnAoLjJuoPxzsTzBOzNhjhlCTHPs4nvkPAZVV1eY=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "c9d189d1375e59a6c9b4d62fdede94ade001f6ee", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 7742acf..fd64c9c 100644 --- a/flake.nix +++ b/flake.nix @@ -13,9 +13,14 @@ # url = "github:EpsilonKu/newm-atha"; # inputs.nixpkgs.follows = "nixpkgs"; # }; + + niripkg = { + url = "github:YaLTeR/niri"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, ... }@inputs: + outputs = { self, nixpkgs, niripkg, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; diff --git a/fonts/ubuntu/home.nix b/fonts/ubuntu/home.nix new file mode 100644 index 0000000..59b4d13 --- /dev/null +++ b/fonts/ubuntu/home.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: { + home.packages = [ + pkgs.ubuntu_font_family + ]; + + programs.kitty.font = { + name = "Ubuntu Mono"; + size = 12; + }; +} \ No newline at end of file diff --git a/hosts/vinegar/configuration.nix b/hosts/vinegar/configuration.nix index 1ca3a7f..274bdb0 100644 --- a/hosts/vinegar/configuration.nix +++ b/hosts/vinegar/configuration.nix @@ -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"; diff --git a/hosts/vulpes/configuration.nix b/hosts/vulpes/configuration.nix index 060e10c..c0252c8 100644 --- a/hosts/vulpes/configuration.nix +++ b/hosts/vulpes/configuration.nix @@ -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 diff --git a/hosts/vulpes/home.nix b/hosts/vulpes/home.nix index 4c6c675..69dc251 100644 --- a/hosts/vulpes/home.nix +++ b/hosts/vulpes/home.nix @@ -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; } diff --git a/hosts/vulpes/modules.nix b/hosts/vulpes/modules.nix index 5c83b73..971446f 100644 --- a/hosts/vulpes/modules.nix +++ b/hosts/vulpes/modules.nix @@ -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 ] diff --git a/hosts/vulpes/swhkdrc b/hosts/vulpes/swhkdrc deleted file mode 100644 index 6a8094f..0000000 --- a/hosts/vulpes/swhkdrc +++ /dev/null @@ -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) diff --git a/modules/art/default.nix b/modules/art/default.nix new file mode 100644 index 0000000..633d536 --- /dev/null +++ b/modules/art/default.nix @@ -0,0 +1,3 @@ +{ ... }: { + services.xserver.wacom.enable = true; +} \ No newline at end of file diff --git a/modules/art/home.nix b/modules/art/home.nix new file mode 100644 index 0000000..e02e599 --- /dev/null +++ b/modules/art/home.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: { + home.packages = [ + pkgs.gimp + ]; +} \ No newline at end of file diff --git a/modules/bspwm/home.nix b/modules/bspwm/home.nix index 4a904f3..1da7f83 100644 --- a/modules/bspwm/home.nix +++ b/modules/bspwm/home.nix @@ -5,6 +5,7 @@ ../qutesearch/home.nix ../tint2/home.nix ../rofi/home.nix + ../clipboard/home.nix ]; config = { @@ -23,10 +24,14 @@ xdg.portal = { enable = true; extraPortals = [ - pkgs.xdg-desktop-portal-kde + pkgs.xdg-desktop-portal-gtk + + # pkgs.xdg-desktop-portal-kde ]; configPackages = [ - pkgs.xdg-desktop-portal-kde + pkgs.xdg-desktop-portal-gtk + + # pkgs.xdg-desktop-portal-kde ]; }; @@ -59,7 +64,7 @@ bspc monitor -d I II III IV V ''; - settings = { + settings = with config.custom.colors; { border_width = 1; window_gap = 4; split_ratio = 0.52; @@ -70,6 +75,11 @@ focus_follows_pointer = true; pointer_follows_focus = true; + + presel_feedback_color = lib.mkDefault base00; + normal_border_color = base01; + active_border_color = base04; + focused_border_color = base0C; }; rules = { diff --git a/modules/bspwm/sxhkdrc b/modules/bspwm/sxhkdrc index 252bff1..7b3b46e 100755 --- a/modules/bspwm/sxhkdrc +++ b/modules/bspwm/sxhkdrc @@ -32,10 +32,10 @@ super + slash # Show clipmenu super + v - rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' + clipcat-menu super + shift + v - greenclip clear + clipcatctl clear # # bspwm hotkeys @@ -72,6 +72,10 @@ super + alt + Return super + Print flameshot gui +# Plumb selected text +super + c + eval $(sselp | goawk $(cat ~/plumber.awk)) + # # state/flags # diff --git a/modules/clipboard/clipcatctl.toml b/modules/clipboard/clipcatctl.toml new file mode 100644 index 0000000..aea91de --- /dev/null +++ b/modules/clipboard/clipcatctl.toml @@ -0,0 +1,7 @@ +server_endpoint = "/run/user/1000/clipcat/grpc.sock" + +[log] +emit_journald = true +emit_stdout = false +emit_stderr = false +level = "INFO" \ No newline at end of file diff --git a/modules/clipboard/clipcatd.toml b/modules/clipboard/clipcatd.toml new file mode 100644 index 0000000..fd299ec --- /dev/null +++ b/modules/clipboard/clipcatd.toml @@ -0,0 +1,44 @@ +daemonize = true +pid_file = "/run/user/1000/clipcatd.pid" +max_history = 50 +synchronize_selection_with_clipboard = true +history_file_path = "/home/dakedres/.cache/clipcat/clipcatd-history" +snippets = [] + +[log] +emit_journald = true +emit_stdout = false +emit_stderr = false +level = "INFO" + +[watcher] +enable_clipboard = true +enable_primary = true +enable_secondary = true +sensitive_x11_atoms = ["x-kde-passwordManagerHint"] +filter_text_min_length = 1 +filter_text_max_length = 20000000 +denied_text_regex_patterns = [] +capture_image = true +filter_image_max_size = 5242880 + +[grpc] +enable_http = false +enable_local_socket = true +host = "127.0.0.1" +port = 45045 +local_socket = "/run/user/1000/clipcat/grpc.sock" + +[dbus] +enable = true + +[metrics] +enable = true +host = "127.0.0.1" +port = 45047 + +[desktop_notification] +enable = true +icon = "accessories-clipboard" +timeout_ms = 2000 +long_plaintext_length = 2000 diff --git a/modules/clipboard/home.nix b/modules/clipboard/home.nix new file mode 100644 index 0000000..5cf242c --- /dev/null +++ b/modules/clipboard/home.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: { + home.packages = [ + pkgs.sselp + pkgs.xclip + pkgs.clipcat + ]; + + xdg.configFile."clipcat/clipcatd.toml".source = ./clipcatd.toml; + xdg.configFile."clipcat/clipcatctl.toml".source = ./clipcatctl.toml; + + xsession.initExtra = "clipcatd"; +} \ No newline at end of file diff --git a/modules/default.nix b/modules/default.nix deleted file mode 100644 index e69de29..0000000 diff --git a/modules/discord/home.nix b/modules/discord/home.nix index 3d590c1..106bbbf 100644 --- a/modules/discord/home.nix +++ b/modules/discord/home.nix @@ -8,5 +8,5 @@ home.packages = [ pkgs.discord ]; - } + }; } diff --git a/modules/emacs/home.nix b/modules/emacs/home.nix new file mode 100644 index 0000000..d5827f4 --- /dev/null +++ b/modules/emacs/home.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + programs.emacs = { + enable = true; + extraPackages = epkgs: [ + epkgs.doom + ]; + }; +} \ No newline at end of file diff --git a/modules/fish/home.nix b/modules/fish/home.nix index cf1dadd..d565712 100644 --- a/modules/fish/home.nix +++ b/modules/fish/home.nix @@ -1,4 +1,12 @@ -{ pkgs, lib, config, ... }: { +{ pkgs, lib, config, ... }: + +let + shellAliases = { + l = "ls -lh"; + ll = "ls -lha"; + skcd = "j $(sk)"; + }; +in { home.packages = [ pkgs.grc pkgs.fishPlugins.grc @@ -8,8 +16,9 @@ interactiveShellInit = '' set fish_greeting # Disable greeting ''; - shellAliases = { - l = "ls -lh"; - }; + inherit shellAliases; }; + + programs.kitty.shellIntegration.enableFishIntegration = true; + programs.skim.enableFishIntegration = true; } diff --git a/modules/home.nix b/modules/home.nix deleted file mode 100644 index ad1402e..0000000 --- a/modules/home.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ... } : { - imports = [ - - ] -} \ No newline at end of file diff --git a/modules/hyprland/home.nix b/modules/hyprland/home.nix index 7bbed57..dba9399 100644 --- a/modules/hyprland/home.nix +++ b/modules/hyprland/home.nix @@ -22,7 +22,6 @@ }; xdg.portal = { - enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; diff --git a/modules/kitty/colors.nix b/modules/kitty/colors.nix index 61d1ede..e2de7eb 100644 --- a/modules/kitty/colors.nix +++ b/modules/kitty/colors.nix @@ -1,13 +1,6 @@ { config, lib, ... }: { - options.custom.colors.kitty = { - enable = lib.mkOption { - type = lib.types.bool; - default = true; - }; - }; - config = { programs.kitty.settings = with config.custom.colors; { # Based on https://github.com/mk12/base16-kitty diff --git a/modules/kitty/home.nix b/modules/kitty/home.nix index 98b3b49..a02d3c5 100644 --- a/modules/kitty/home.nix +++ b/modules/kitty/home.nix @@ -1,9 +1,9 @@ { ... }: { - imports = [ ./colors.nix ]; + # Temp + # imports = [ ./colors.nix ]; programs.kitty = { enable = true; - shellIntegration.enableFishIntegration = true; settings = { editor = "micro"; diff --git a/modules/niri/home.nix b/modules/niri/home.nix new file mode 100644 index 0000000..7dfa06c --- /dev/null +++ b/modules/niri/home.nix @@ -0,0 +1,15 @@ +{ inputs, system, ... }: { + imports = [ + ../qutesearch/home.nix + ../waybar/home.nix + ../rofi/home.nix + ]; + + home.packages = [ + inputs.niripkg.packages.${system}.default + ]; + +# xsession.windowManager.command = '' +# ${extraPkgs.niri}/bin/niri +# ''; +} diff --git a/modules/picom/home.nix b/modules/picom/home.nix new file mode 100644 index 0000000..e452b2e --- /dev/null +++ b/modules/picom/home.nix @@ -0,0 +1,28 @@ +{ ... }: + +let + preselect_selector = "class_g = 'Bspwm' && class_i = 'presel_feedback'"; +in { + services.picom = { + enable = true; + + # fade = true; + # fadeDelta = 3; + + shadow = true; + shadowExclude = [ + "window_type *= 'menu'" + "name = 'tint2'" + preselect_selector + ]; + + opacityRules = [ + "10:${preselect_selector}" + ]; + + vSync = true; + }; + + xsession.initExtra = "picom"; + xsession.windowManager.bspwm.settings.presel_feedback_color = "#ffffff"; +} \ No newline at end of file diff --git a/modules/qutebrowser/home.nix b/modules/qutebrowser/home.nix index 1c254b7..2586ffd 100644 --- a/modules/qutebrowser/home.nix +++ b/modules/qutebrowser/home.nix @@ -14,10 +14,13 @@ tabs_are_windows = true; show = "never"; }; - - colors = { - webpage.darkmode.enabled = true; + + colors.webpage = { + preferred_color_scheme = "dark"; + # darkmode.enabled = true; }; + + content.headers.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.3"; }; }; } diff --git a/modules/sioyek/home.nix b/modules/sioyek/home.nix new file mode 100644 index 0000000..d677b64 --- /dev/null +++ b/modules/sioyek/home.nix @@ -0,0 +1,11 @@ +{ config, ... }: { + programs.sioyek = { + enable = true; + config = with config.custom.colors; { + "background_color" = base00; + "text_highlight_color" = base05; + "link_highlight_color" = base0C; + "search_highlight_color" = base0A; + }; + }; +} \ No newline at end of file diff --git a/modules/syncthing/home.nix b/modules/syncthing/home.nix new file mode 100644 index 0000000..c23f365 --- /dev/null +++ b/modules/syncthing/home.nix @@ -0,0 +1,7 @@ +{ ... }: { + services.syncthing = { + enable = true; + }; + + xsession.initExtra = "syncthing"; +} \ No newline at end of file diff --git a/modules/zsh/default.nix b/modules/zsh/default.nix new file mode 100644 index 0000000..512de43 --- /dev/null +++ b/modules/zsh/default.nix @@ -0,0 +1,5 @@ +{ ... }: { + programs.zsh = { + enable = true; + }; +} \ No newline at end of file diff --git a/projects/new-sys/configuration.nix b/projects/new-sys/configuration.nix new file mode 100644 index 0000000..762f94e --- /dev/null +++ b/projects/new-sys/configuration.nix @@ -0,0 +1,120 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # networking.hostName = "nixos"; # Define your hostname. + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + + # 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.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # useXkbConfig = true; # use xkb.options in tty. + # }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + + + # Configure keymap in X11 + # services.xserver.xkb.layout = "us"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + # users.users.alice = { + # isNormalUser = true; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # packages = with pkgs; [ + # firefox + # tree + # ]; + # }; + + # 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. + # wget + # ]; + + # 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; + + # 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; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "23.11"; # Did you read the comment? + +} + diff --git a/projects/new-sys/hardware-configuration.nix b/projects/new-sys/hardware-configuration.nix new file mode 100644 index 0000000..6c6d5cc --- /dev/null +++ b/projects/new-sys/hardware-configuration.nix @@ -0,0 +1,39 @@ +# 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, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/81248e4c-95cf-4427-9df1-57f39b62a5a3"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/E50D-8471"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/25b9170e-c60a-49c1-929a-0fe6fc1e15ea"; } + ]; + + # 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/projects/new-sys/result b/projects/new-sys/result new file mode 120000 index 0000000..43a01e1 --- /dev/null +++ b/projects/new-sys/result @@ -0,0 +1 @@ +/nix/store/rllmvskshlkpxwrhj2bsvn74fdj311bg-nixos-vm \ No newline at end of file diff --git a/rebuild.sh b/rebuild.sh new file mode 100755 index 0000000..6ebfa33 --- /dev/null +++ b/rebuild.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +cd ~/nixos +git add . +sudo nixos-rebuild $1 --flake .#$(hostname) \ No newline at end of file diff --git a/themes/kaolin-dark/default.nix b/themes/kaolin-dark/default.nix index 85b1efd..912be56 100644 --- a/themes/kaolin-dark/default.nix +++ b/themes/kaolin-dark/default.nix @@ -1,7 +1,7 @@ # Kaolin-dark scheme by alternateved (http://github.com/alternateved) # Inspired by (https://github.com/ogdenwebb/emacs-kaolin-themes) -{ config, ... }: { +{ config, lib, ... }: { custom.colors = { base00 = "#18181B"; base01 = "#222225"; @@ -21,7 +21,7 @@ base0F = "#E36D5B"; }; - custom.colors.kitty.enable = false; + # custom.colors.kitty.enable = false; programs.kitty.settings = with config.custom.colors; { ## name: Kaolin Dark ## author: Ogden Webb @@ -30,15 +30,16 @@ # The basic colors foreground = base07; - background = "#000000"; -# background = base00; + # background = "#000000"; + background = base00; selection_foreground = base00; selection_background = base07; # Cursor colors cursor = base07; - cursor_text_color = "#ffffff"; + # cursor_text_color = "#ffffff"; + cursor_text_color = base00; # kitty window border colors active_border_color = base0C;