From 86a63e11319fbf35814e021216280c260929438a Mon Sep 17 00:00:00 2001 From: alisceon Date: Thu, 8 Jan 2026 18:05:08 +0100 Subject: [PATCH] stylix and bugfixes --- TODO.md | 2 +- flake.lock | 78 +++++++++++------------ home/alisceon/base.nix | 1 + home/alisceon/workstation.nix | 36 ++++++----- home/conf/xonsh/xonshrc | 23 +++++-- home/wm/gnome.nix | 5 -- home/wm/sway.nix | 115 +++++++++++++++------------------- hosts/common/base.nix | 1 + hosts/common/wm/sway.nix | 51 ++++++++------- hosts/common/workstation.nix | 9 ++- util/open_dailies.xsh | 27 ++++++++ 11 files changed, 193 insertions(+), 155 deletions(-) create mode 100644 util/open_dailies.xsh diff --git a/TODO.md b/TODO.md index aa760a5..2e72ada 100644 --- a/TODO.md +++ b/TODO.md @@ -3,7 +3,7 @@ - [ ] Look into why nix auto update fails - [ ] Look into the "ignoring duplicate names" errors - [ ] Center tuigreet - - [ ] fix xdg default apps + - [x] fix xdg default apps - [ ] selinux - https://github.com/NixOS/nixpkgs/pull/396177 - [ ] Secure boot diff --git a/flake.lock b/flake.lock index b82db7d..ec94259 100644 --- a/flake.lock +++ b/flake.lock @@ -71,11 +71,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1764724327, - "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", + "lastModified": 1764873433, + "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", + "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92", "type": "github" }, "original": { @@ -134,11 +134,11 @@ ] }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1767609335, + "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "250481aafeb741edfe23d29195671c19b36b6dca", "type": "github" }, "original": { @@ -167,11 +167,11 @@ "flake": false, "locked": { "host": "gitlab.gnome.org", - "lastModified": 1764524476, - "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", + "lastModified": 1767737596, + "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", "type": "gitlab" }, "original": { @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1767619900, - "narHash": "sha256-KpoCBPvwHz3gAQtIUkohE2InRBFK3r0/FM6z5SPWfvM=", + "lastModified": 1767850628, + "narHash": "sha256-D3QzdIT11J66I4mzwmIpAGLzPAcbCS2VaKN8fmOe6+E=", "owner": "nix-community", "repo": "home-manager", - "rev": "6bd04da47cfb48dfd15eabf08364b78ad894f5b2", + "rev": "8c8a16d41353a174767c38b962359b51a56ca02e", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1767480499, - "narHash": "sha256-8IQQUorUGiSmFaPnLSo2+T+rjHtiNWc+OAzeHck7N48=", + "lastModified": 1767799921, + "narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30a3c519afcf3f99e2c6df3b359aec5692054d92", + "rev": "d351d0653aeb7877273920cd3e823994e7579b0b", "type": "github" }, "original": { @@ -221,11 +221,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1767379071, - "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", + "lastModified": 1767767207, + "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb7944c166a3b630f177938e478f0378e64ce108", + "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1767704150, - "narHash": "sha256-gmsKd2pR6ROVhdEvjZGd7VXtxy3i4zp4a95lw9lC2M8=", + "lastModified": 1767889854, + "narHash": "sha256-GfGSk0M0u6EOVEUaWRCbD388BKCrUie3IMj3YmQAZ3A=", "owner": "nix-community", "repo": "NUR", - "rev": "ec208cf77fd8acf9d67954f0919aa6bdbbb17519", + "rev": "984f8b7cd88215f470c41e4f7c5ce549758ce5d7", "type": "github" }, "original": { @@ -264,11 +264,11 @@ ] }, "locked": { - "lastModified": 1767704150, - "narHash": "sha256-gmsKd2pR6ROVhdEvjZGd7VXtxy3i4zp4a95lw9lC2M8=", + "lastModified": 1767889854, + "narHash": "sha256-GfGSk0M0u6EOVEUaWRCbD388BKCrUie3IMj3YmQAZ3A=", "owner": "nix-community", "repo": "NUR", - "rev": "ec208cf77fd8acf9d67954f0919aa6bdbbb17519", + "rev": "984f8b7cd88215f470c41e4f7c5ce549758ce5d7", "type": "github" }, "original": { @@ -289,11 +289,11 @@ ] }, "locked": { - "lastModified": 1764773531, - "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", + "lastModified": 1767810917, + "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=", "owner": "nix-community", "repo": "NUR", - "rev": "1d9616689e98beded059ad0384b9951e967a17fa", + "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4", "type": "github" }, "original": { @@ -333,11 +333,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1767652667, - "narHash": "sha256-zsgfockkvK0JrSvzVAb8JeUq3SDdITu6ViUf7yeIpi4=", + "lastModified": 1767886384, + "narHash": "sha256-5/hrrHMZuwwJXqLb86MBElPKS61Efe+hgGkVvpbzJM4=", "owner": "danth", "repo": "stylix", - "rev": "a4406d9799d002c41296c72378a1094a8fc9aa1b", + "rev": "a525e4774f2576e0f10b8b183c2dfaf7d165c052", "type": "github" }, "original": { @@ -397,11 +397,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1763914658, - "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", + "lastModified": 1767710407, + "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=", "owner": "tinted-theming", "repo": "schemes", - "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", + "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2", "type": "github" }, "original": { @@ -413,11 +413,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1764465359, - "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", + "lastModified": 1767489635, + "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "edf89a780e239263cc691a987721f786ddc4f6aa", + "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184", "type": "github" }, "original": { @@ -429,11 +429,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1764464512, - "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", + "lastModified": 1767488740, + "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", + "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40", "type": "github" }, "original": { diff --git a/home/alisceon/base.nix b/home/alisceon/base.nix index 17e55bd..bbdbfc5 100644 --- a/home/alisceon/base.nix +++ b/home/alisceon/base.nix @@ -31,6 +31,7 @@ globalShellAbbrs = baseAbbrs // hostnameAbbrs; in { + stylix.enableReleaseChecks = false; home.username = "alisceon"; home.homeDirectory = "/home/alisceon"; home.stateVersion = "24.05"; diff --git a/home/alisceon/workstation.nix b/home/alisceon/workstation.nix index e7d53b0..d932a95 100644 --- a/home/alisceon/workstation.nix +++ b/home/alisceon/workstation.nix @@ -7,17 +7,19 @@ programs = { vscode.enable = true; - firefox = { - enable = true; - nativeMessagingHosts = [ - pkgs.firefoxpwa - ]; - profiles = { - default = {}; - }; - }; # end firefox chromium = { enable = true; + commandLineArgs = [ + "--enable-features=TouchpadOverscrollHistoryNavigation,VaapiVideoDecoder" + ]; + extensions = [ + { id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # ublock origin lite + { id = "nngceckbapebfimnlniiiahkandclblb"; } # bitwarden + { id = "mdjildafknihdffpkfmmpnpoiajfjnjd"; } # consent-o-matic + { id = "mnjggcdmjocbbbhaepdhchncahnbgone"; } # sponsorblock + { id = "ijcpiojgefnkmcadacmacogglhjdjphj"; } # shinigami eyes + { id = "kbmfpngjjgdllneeigpgjifpgocmfgmb"; } # reddit enhancement suite + ]; }; # end chromium direnv = { enable = true; @@ -27,12 +29,6 @@ enable = true; }; # end discord }; # end programs - stylix.targets = { - firefox = { - enable = true; - profileNames = [ "default" ]; - }; - }; # obsidian special case # programs.obsidian.enable = true; @@ -49,13 +45,21 @@ autostart = { enable = true; entries = [ - "${pkgs.firefox}/share/applications/firefox.desktop" + "${pkgs.chromium}/share/applications/chromium-browser.desktop" "${pkgs.discord}/share/applications/discord.desktop" "${pkgs.signal-desktop}/share/applications/signal.desktop" "${pkgs.obsidian}/share/applications/obsidian.desktop" "${pkgs.vscode}/share/applications/code.desktop" ]; }; + desktopEntries = { + chromium-dailies = { + name = "Chromium Dailies"; + genericName = "Web Browser (with dailies)"; + exec = "xonsh /home/alisceon/.nixos_config/util/open_dailies.xsh"; + terminal = false; + }; + }; }; services.syncthing = { diff --git a/home/conf/xonsh/xonshrc b/home/conf/xonsh/xonshrc index 5ee58df..23ab671 100644 --- a/home/conf/xonsh/xonshrc +++ b/home/conf/xonsh/xonshrc @@ -17,6 +17,7 @@ if $XONSH_INTERACTIVE: from datetime import datetime import importlib.util t0 = datetime.now() + ## ENV ## $XONSH_COLOR_STYLE = 'native' $PROMPT = '{YELLOW}{env_name}{RESET}{BOLD_GREEN}{user}@{hostname} {cwd}{branch_color}{curr_branch: {}}{RESET} {RED}{last_return_code_if_nonzero:[{BOLD_INTENSE_RED}{}{RED}] }{RESET}{BOLD_BLUE}{prompt_end}{RESET} ' @@ -51,6 +52,8 @@ if $XONSH_INTERACTIVE: ## THICC SHELL if $SHELL_THICCNESS == "HIGH" and not $SHELL_THICKENED == "TRUE": + t0_0 = datetime.now() + # Standard Library Imports import os import sys import subprocess @@ -60,15 +63,25 @@ if $XONSH_INTERACTIVE: import pathlib import re import json - import scapy.all - import yaml - import requests + import threading + import multiprocessing + # Third Party Imports + if importlib.util.find_spec("scapy") is not None: + import scapy.all + if importlib.util.find_spec("yaml") is not None: + import yaml + if importlib.util.find_spec("requests") is not None: + import requests $SHELL_THICKENED = "TRUE" + t0_1 = datetime.now() + else: + xonsh_rc_path = $XONSHRC[0] + aliases["thicken-shell"] = f"export SHELL_THICCNESS=HIGH && source {xonsh_rc_path}" ## THEO GREETING ## hour = t0.hour theo | kittycatsay dt = round((datetime.now() - t0).microseconds/1000000, 2) - print("Load time:", dt, "seconds") if $SHELL_THICKENED == "TRUE": - print_color("{BOLD_GREEN}THICC SHELL LOADED!{RESET}") \ No newline at end of file + print_color("{BOLD_GREEN}SHELL THICKENED IN " + str(round((t0_1 - t0_0).microseconds/1000000, 2)) + "{RESET}") + print("Load time:", dt, "seconds") \ No newline at end of file diff --git a/home/wm/gnome.nix b/home/wm/gnome.nix index 2258482..b65e482 100644 --- a/home/wm/gnome.nix +++ b/home/wm/gnome.nix @@ -1,10 +1,5 @@ { pkgs, config, hostName, lib, ... }: { programs = { - firefox = { - nativeMessagingHosts = [ - pkgs.gnome-browser-connector - ]; - }; # end firefox }; # end programs dconf.enable = true; diff --git a/home/wm/sway.nix b/home/wm/sway.nix index e6ea74c..5bd3ebf 100644 --- a/home/wm/sway.nix +++ b/home/wm/sway.nix @@ -110,7 +110,7 @@ modifier = "${key_mod}"; startup = [ { command = "systemctl --user start libinput-gestures"; } - { command = "swaybg -m fill -i /home/alisceon/Pictures/system/bg.png";} + { command = "swaybg -m fill -i /home/alisceon/Pictures/system/bg.png";} ]; bars = [ { command = "${pkgs.waybar}/bin/waybar"; } @@ -127,6 +127,7 @@ "type:mouse" = { natural_scroll = "disabled"; accel_profile = "flat"; + pointer_accel = "0.5"; }; "*" = { xkb_layout = hostnameInputs; @@ -226,7 +227,7 @@ ]; }; # end window assigns = { - "1" = [{app_id = "firefox";}]; + "1" = [{app_id = "chromium";}]; "2" = [{class = "steam";}]; "3" = []; "4" = [{class = "Code";}]; @@ -361,6 +362,9 @@ enable_audio_bell = false; window_padding_width = 2; }; + environment = { + SHELL_THICCNESS = "LOW"; # instructs xonsh to default to a slim environment + }; }; # end kitty }; # end programs gtk = { @@ -369,73 +373,58 @@ gtk3.enable = true; gtk4.enable = true; }; + xdg = { + configFile."libinput-gestures.conf".text = '' + gesture pinch in 3 sh -c "echo key ctrl+w | ${pkgs.dotool}/bin/dotool" + gesture swipe left 3 ${swaymsg} workspace prev + gesture swipe right 3 ${swaymsg} workspace next + gesture swipe down 3 ${swaymsg} move container to scratchpad + gesture swipe up 3 ${swaymsg} fullscreen + gesture swipe down 4 ${lock} + gesture pinch out 3 ${swaymsg} floating toggle + gesture pinch in 4 ${swaymsg} kill + ''; + configFile."electron-flags.conf".text = '' + --enable-features=WaylandWindowDecorations,AllowQt + --ozone-platform=wayland + --gtk-version=4 + ''; + mimeApps = { + enable = true; + defaultApplicationPackages = [ + pkgs.gnome-text-editor + pkgs.evince + pkgs.vlc + pkgs.loupe + pkgs.nautilus + pkgs.chromium + ]; + defaultApplications = { # mostly redundant but the additional granularity is good for reducing friction + # Text + "text/*" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; + "application/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; + "application/json" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; + "application/pdf" = [ "${pkgs.evince}/share/applications/org.gnome.Evince.desktop" ]; + # Media + "video/*" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; + "audio/*" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - xdg.configFile."libinput-gestures.conf".text = '' - gesture swipe left 3 ${swaymsg} workspace prev - gesture swipe right 3 ${swaymsg} workspace next - gesture swipe down 3 ${swaymsg} move container to scratchpad - gesture swipe up 3 ${swaymsg} fullscreen - gesture pinch in 3 ${swaymsg} floating enable - gesture pinch out 3 ${swaymsg} floating disable - gesture pinch in 4 ${swaymsg} kill - gesture swipe up 4 ${lock} - ''; - xdg.configFile."electron-flags.conf".text = '' - --enable-features=WaylandWindowDecorations,AllowQt - --ozone-platform=wayland - --gtk-version=4 - ''; - xdg.configFile."chromium-flags.conf".text = '' - --enable-features=WaylandWindowDecorations,AllowQt - --ozone-platform=wayland - --gtk-version=4 - ''; - xdg.mimeApps = { - enable = true; - defaultApplications ={ - # Text - "text/plain" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - "text/markdown" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - "text/x-markdown" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - "text/csv" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - "text/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - "application/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - "application/json" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; - - # Media - "video/mp4" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "audio/mpeg" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "audio/ogg" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "audio/wav" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "audio/flac" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "video/x-matroska" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "video/webm" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "video/avi" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; - "video/mkv" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; + # Browser + "text/html" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; + "application/xhtml+xml" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; + "application/x-web-app-manifest+json" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; + "application/xml-dtd" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; - # Browser - "text/html" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ]; - "application/xhtml+xml" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ]; - "application/x-web-app-manifest+json" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ]; - "application/xml-dtd" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ]; - - # Images - "image/png" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/jpeg" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/gif" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/bmp" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/webp" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/svg+xml" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/svg+xml-compressed" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/tiff" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/apng" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; - "image/heic" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ]; + # Images + "image/*" = [ "${pkgs.loupe}/share/applications/org.gnome.Loupe.desktop.desktop" ]; + }; }; }; - # this right here offends me https://source.chromium.org/chromium/chromium/src/+/main:base/nix/xdg_util.cc;l=179-180 systemd.user.sessionVariables = { + # this right here offends me https://source.chromium.org/chromium/chromium/src/+/main:base/nix/xdg_util.cc;l=179-180 + # setting GNOME_DESKTOP_SESSION_ID will fool some legacy systems into thinking we're running gnome + # this is an issue for xdg-open which can be circumvented by adding glib to the system which lets xdg-open fallback to gio-open GNOME_DESKTOP_SESSION_ID = "999"; - SHELL_THICCNESS = "LOW"; }; } # end file diff --git a/hosts/common/base.nix b/hosts/common/base.nix index 9f32480..7998244 100644 --- a/hosts/common/base.nix +++ b/hosts/common/base.nix @@ -85,6 +85,7 @@ cowsay # important psmisc pv + file # Shells bash diff --git a/hosts/common/wm/sway.nix b/hosts/common/wm/sway.nix index 447e8b3..27ef821 100644 --- a/hosts/common/wm/sway.nix +++ b/hosts/common/wm/sway.nix @@ -1,18 +1,24 @@ { config, pkgs, lib, hostName, ... }: { environment.systemPackages = with pkgs; [ - mako # notification system developed by swaywm maintainer - rofi libinput libinput-gestures - wmctrl - seahorse - libsecret - gnome-text-editor - nautilus - playerctl libnotify + wmctrl + playerctl + + # MIME utilities + xdg-utils + shared-mime-info + + # GNOME utilities + libsecret # Keyring backend + gnome-text-editor + loupe + evince + seahorse + nautilus ]; # enable Sway window manager @@ -25,20 +31,22 @@ "--unsupported-gpu" ]; extraPackages = with pkgs; [ - swayidle - swaylock - swayimg - swaybg - grim - slurp - wl-clipboard - pulseaudio - sway-contrib.grimshot - kitty + swayidle # idle management + swaylock # screen locker + swaybg # wallpaper setting tool + grim # screenshot tool + slurp # selection tool for screenshots + wl-clipboard # clipboard support (mostly for grim/slurp) + pulseaudio # pulseaudio support + sway-contrib.grimshot # screenshot tool + kitty # terminal emulator kitty-themes + dotool # tool to send keyboard/mouse input to wayland apps + mako # notification system developed by swaywm maintainer + rofi # application launcher ]; }; # end sway - uwsm = { + uwsm = { # responsible for creating xdg-portal and systemd insteraction for sway enable = true; waylandCompositors = { sway = { @@ -89,7 +97,8 @@ }; }; # end logind dbus.packages = [ pkgs.seahorse pkgs.gnome-keyring pkgs.gcr ]; - gnome.gcr-ssh-agent.enable = true; + gnome.gcr-ssh-agent.enable = true; # SSH key management via gnome keyring + gvfs.enable = true; # some support for nautilus operations }; # end services - users.users.alisceon.extraGroups = [ "video" "input" ]; + users.users.alisceon.extraGroups = [ "video" "input" ]; # input group required for libinput-gestures } \ No newline at end of file diff --git a/hosts/common/workstation.nix b/hosts/common/workstation.nix index f93633f..7f1c3f1 100644 --- a/hosts/common/workstation.nix +++ b/hosts/common/workstation.nix @@ -41,7 +41,7 @@ 8080 8888 ]; - + environment = { systemPackages = [ # Chat @@ -50,10 +50,8 @@ pkgs.mumble # Browser - pkgs.firefox - pkgs.firefoxpwa - pkgs.chromium - + (pkgs.chromium.override { enableWideVine = true; }) + # Development pkgs.vscode pkgs.devenv @@ -69,5 +67,6 @@ pkgs.vlc pkgs.via ]; # end systemPackages + sessionVariables.NIXOS_OZONE_WL = "1"; }; # end environment } #end file diff --git a/util/open_dailies.xsh b/util/open_dailies.xsh new file mode 100644 index 0000000..eebc250 --- /dev/null +++ b/util/open_dailies.xsh @@ -0,0 +1,27 @@ +import subprocess + +dailies = [ + "https://www.geoguessr.com/", + "https://timeguessr.com/roundonedaily/", + "https://contexto.me/en/", + "https://travle.earth/", + "https://www.nytimes.com/games/connections/", + "https://games.oec.world/en/tradle/", + "https://oec.world/en/games/connectrade/", + "https://worldle.teuteuf.fr/", + "https://countryle.com/", + "https://capitale.countryle.com/", + "https://globle-game.com/game/", + "https://frontofficesports.com/trivia/factle/", + "https://daydle.com/", + "https://histordle.com/yeardle/", + "https://angle.wtf/", + "https://playboardle.com/", + "https://www.chess.com/daily/", + "https://quizl.io/", + "https://redactle.net/", + "https://www.codewars.com/dashboard/", + "https://leetcode.com/", +] + +subprocess.run(["chromium", "--new-window"] + dailies) \ No newline at end of file