stylix and bugfixes
This commit is contained in:
parent
1b31f9e29c
commit
86a63e1131
11 changed files with 193 additions and 155 deletions
|
|
@ -31,6 +31,7 @@
|
|||
globalShellAbbrs = baseAbbrs // hostnameAbbrs;
|
||||
in
|
||||
{
|
||||
stylix.enableReleaseChecks = false;
|
||||
home.username = "alisceon";
|
||||
home.homeDirectory = "/home/alisceon";
|
||||
home.stateVersion = "24.05";
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
|
|
@ -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}")
|
||||
print_color("{BOLD_GREEN}SHELL THICKENED IN " + str(round((t0_1 - t0_0).microseconds/1000000, 2)) + "{RESET}")
|
||||
print("Load time:", dt, "seconds")
|
||||
|
|
@ -1,10 +1,5 @@
|
|||
{ pkgs, config, hostName, lib, ... }: {
|
||||
programs = {
|
||||
firefox = {
|
||||
nativeMessagingHosts = [
|
||||
pkgs.gnome-browser-connector
|
||||
];
|
||||
}; # end firefox
|
||||
}; # end programs
|
||||
|
||||
dconf.enable = true;
|
||||
|
|
|
|||
115
home/wm/sway.nix
115
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue