assorted fixes, add de2 as alternative to ezpcusr

This commit is contained in:
notgne2 2022-01-29 00:26:02 -07:00
parent b8dc4fde46
commit 487a076825
No known key found for this signature in database
GPG Key ID: BB661E172B42A7F8
11 changed files with 336 additions and 152 deletions

View File

@ -73,12 +73,23 @@
psmisc psmisc
usbutils usbutils
pciutils pciutils
cpufrequtils
intel-gpu-tools
lshw
lsof
bind
file
iotop iotop
htop htop
glances glances
powertop
exfat exfat
# to stop NixOS breaking
git
]; ];
# Allow ssh # Allow ssh

View File

@ -56,6 +56,7 @@
fuckingprint = import ./modules/fuckingprint.nix; fuckingprint = import ./modules/fuckingprint.nix;
workstation = import ./modules/workstation.nix; workstation = import ./modules/workstation.nix;
ezpw = import ./modules/ezpw.nix; ezpw = import ./modules/ezpw.nix;
de2 = import ./home-manager/modules/de2.nix;
all = import ./modules/default.nix; all = import ./modules/default.nix;
}; };
@ -66,6 +67,7 @@
gaming = import ./home-manager/modules/gaming.nix inputs; gaming = import ./home-manager/modules/gaming.nix inputs;
gamerenv = import ./home-manager/modules/gamerenv.nix; gamerenv = import ./home-manager/modules/gamerenv.nix;
mopidy = import ./home-manager/modules/mopidy.nix; mopidy = import ./home-manager/modules/mopidy.nix;
de2u = import ./home-manager/modules/de2u.nix;
all = import ./home-manager/modules/default.nix inputs; all = import ./home-manager/modules/default.nix inputs;
}; };

View File

@ -4,33 +4,54 @@ inputs:
{ {
imports = [ (import ./modules inputs) ]; imports = [ (import ./modules inputs) ];
programs.direnv = {
enable = lib.mkDefault true;
nix-direnv.enable = lib.mkDefault true;
stdlib = ''
: ''${XDG_CACHE_HOME:=$HOME/.cache}
declare -A direnv_layout_dirs
direnv_layout_dir() {
echo "''${direnv_layout_dirs[$PWD]:=$(
echo -n "$XDG_CACHE_HOME"/direnv/layouts/
echo -n "$PWD" | shasum | cut -d ' ' -f 1
)}"
}
'';
};
programs.chromium = {
package = lib.mkDefault (pkgs.ungoogled-chromium.override {
commandLineArgs = lib.concatStringsSep " " [
"--force-dark-mode"
"--enable-features=UseOzonePlatform,WebUIDarkMode,VaapiVideoDecoder"
"--ozone-platform=wayland"
"--ignore-gpu-blocklist"
"--enable-gpu-rasterization"
"--enable-zero-copy"
];
});
};
programs.mpv = {
config = {
profile = lib.mkDefault "gpu-hq";
ytdl-format = lib.mkDefault "bestvideo+bestaudio";
};
};
home.packages = with pkgs; [ home.packages = with pkgs; [
wget wget
httpie httpie
git jq
ripgrep ripgrep
lsd lsd
file
unzip
lm_sensors
# for fish-done # for fish-done
libnotify libnotify
notify-desktop notify-desktop
]; ];
programs.vim = {
enable = true;
extraConfig = ''
set nocompatible
set nocp
set backspace=indent,eol,start
'';
};
home.sessionVariables = { TERM = "xterm-256color"; }; home.sessionVariables = { TERM = "xterm-256color"; };
programs.fish = { programs.fish = {
@ -53,7 +74,6 @@ inputs:
} }
]; ];
shellInit = '' shellInit = ''
# Load nix shit on non-NixOS computers (yea yea laugh it up we all have legacy machines somewhere)
if not set -q NIX_PATH if not set -q NIX_PATH
set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d
fenv source $HOME/.nix-profile/etc/profile.d/nix.sh fenv source $HOME/.nix-profile/etc/profile.d/nix.sh

View File

@ -1,23 +0,0 @@
base16:
''
gtk-color-scheme = "bg_color:#${base16."base00"}\nfg_color:#${
base16."base05"
}\nbase_color:#${base16."base00"}\ntext_color:#${
base16."base05"
}\nselected_bg_color:#${base16."base02"}\nselected_fg_color:#${
base16."base05"
}\ntooltip_bg_color:#${base16."base00"}\ntooltip_fg_color:#${
base16."base04"
}\ntitlebar_bg_color:#${base16."base00"}\ntitlebar_fg_color:#${
base16."base0D"
}\nmenubar_bg_color:#${base16."base00"}\nmenubar_fg_color:#${
base16."base0D"
}\ntoolbar_bg_color:#${base16."base00"}\ntoolbar_fg_color:#${
base16."base0A"
}\nmenu_bg_color:#${base16."base00"}\nmenu_fg_color:#${
base16."base05"
}\npanel_bg_color:#${base16."base00"}\npanel_fg_color:#${
base16."base0B"
}\nlink_color:#${base16."base09"}"
''

View File

@ -51,13 +51,14 @@ let
} }
); );
genTheme = repo: mustache
(makeScheme cfg.base16 // { scheme = (makeScheme cfg.base16 // {
scheme-name = "base16 generated"; scheme-name = "base16 generated";
scheme-slug = "idk"; scheme-slug = "idk";
scheme-author = "nixos"; scheme-author = "nixos";
}) });
"${repo}/templates/default.mustache";
genTheme = repo: mustache scheme "${repo}/templates/default.mustache";
schemer2 = pkgs.buildGoPackage rec { schemer2 = pkgs.buildGoPackage rec {
pname = "schemer2"; pname = "schemer2";
@ -79,11 +80,6 @@ in
options.colors = { options.colors = {
enable = mkEnableOption "Enable automatic colors"; enable = mkEnableOption "Enable automatic colors";
i3BarColors = mkOption {
description = "Exported color attrset for i3bar/swaybar";
default = { };
};
base16Rgb = mkOption { base16Rgb = mkOption {
readOnly = true; readOnly = true;
type = types.attrsOf (types.attrsOf types.int); type = types.attrsOf (types.attrsOf types.int);
@ -234,37 +230,6 @@ in
# I3/sway # I3/sway
wayland.windowManager.sway = i3config; wayland.windowManager.sway = i3config;
xsession.windowManager.i3 = i3config; xsession.windowManager.i3 = i3config;
colors.i3BarColors = {
background = "#${cfg.base16.base00}";
separator = "#${cfg.base16.base01}";
statusline = "#${cfg.base16.base04}";
focusedWorkspace = {
border = "#${cfg.base16.base05}";
background = "#${cfg.base16.base0D}";
text = "#${cfg.base16.base00}";
};
activeWorkspace = {
border = "#${cfg.base16.base05}";
background = "#${cfg.base16.base03}";
text = "#${cfg.base16.base00}";
};
inactiveWorkspace = {
border = "#${cfg.base16.base03}";
background = "#${cfg.base16.base01}";
text = "#${cfg.base16.base05}";
};
urgentWorkspace = {
border = "#${cfg.base16.base08}";
background = "#${cfg.base16.base08}";
text = "#${cfg.base16.base00}";
};
bindingMode = {
border = "#${cfg.base16.base00}";
background = "#${cfg.base16.base0A}";
text = "#${cfg.base16.base00}";
};
};
# Dunst # Dunst
services.dunst = { services.dunst = {
@ -323,9 +288,11 @@ in
name = "Generated"; name = "Generated";
package = generated-gtk-theme; package = generated-gtk-theme;
}; };
gtk2.extraConfig = import ../data/gtk2-base16.nix cfg.base16;
}; };
systemd.user.sessionVariables.GTK_THEME = "Generated";
home.sessionVariables.GTK_THEME = "Generated";
# Codium/VSCODE # Codium/VSCODE
programs.vscode.userSettings = { programs.vscode.userSettings = {
"workbench.colorTheme" = "nix colors"; "workbench.colorTheme" = "nix colors";

View File

@ -0,0 +1,222 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.de2u;
in
{
options.de2u = {
enable = mkEnableOption "Enable de2 user stuff";
};
config = mkIf cfg.enable {
colors.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true;
programs.chromium.enable = lib.mkDefault true;
programs.kitty = {
enable = lib.mkDefault true;
settings = {
background_opacity = lib.mkDefault "1";
dynamic_background_opacity = lib.mkDefault true;
allow_remote_control = lib.mkDefault true;
hide_window_decorations = lib.mkDefault true;
};
};
home.packages = with pkgs; [
gnomeExtensions.pop-shell
gnomeExtensions.blur-me
gnomeExtensions.remove-rounded-corners
gnomeExtensions.improved-workspace-indicator
gnomeExtensions.vitals
gnomeExtensions.clipboard-indicator
# (gnomeExtensions.no-title-bar.overrideAttrs (old: {
# src = builtins.fetchGit {
# rev = "1e6647d1bf03559cd574f34aa2439b942cc94c60";
# url = "git+ssh://git@github.com/poehlerj/no-title-bar.git";
# };
# patches = old.patches ++ [
# (pkgs.fetchurl {
# url = "https://patch-diff.githubusercontent.com/raw/poehlerj/no-title-bar/pull/37.patch";
# sha256 = "sha256-4gUv7U8mtSDQ2aSlVALxMpLvLWUcf0Gd8N2xIGQ4LGQ=";
# })
# ];
# }))
gnomeExtensions.just-perfection
gnomeExtensions.appindicator
];
systemd.user.sessionVariables = {
QT_QPA_PLATFORM = "wayland-egl;xcb";
MOZ_ENABLE_WAYLAND = "1";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"inode/directory" = "org.gnome.Nautilus.desktop";
"text/html" = "chromium-browser.desktop";
"x-scheme-handler/http" = "chromium-browser.desktop";
"x-scheme-handler/https" = "chromium-browser.desktop";
"x-scheme-handler/about" = "chromium-browser.desktop";
"application/zip" = "org.gnome.FileRoller.desktop";
"application/rar" = "org.gnome.FileRoller.desktop";
"application/7z" = "org.gnome.FileRoller.desktop";
"application/*tar" = "org.gnome.FileRoller.desktop";
};
};
dconf.settings = with lib.hm.gvariant; {
"org/gnome/desktop/interface" = {
enable-hot-corners = false;
show-battery-percentage = true;
};
"org/gnome/shell/extensions/pop-shell" = {
tile-by-default = true;
show-title = false;
active-hint = false;
};
"org/gnome/shell/extensions/improved-workspace-indicator" = {
panel-position = "left";
};
"org/gnome/shell/extensions/vitals" = {
hide-zeros = true;
show-battery = true;
update-time = 8;
};
"org/gnome/shell/extensions/appindicator" = {
icon-opacity = 255;
tray-pos = "center";
};
"org/gnome/shell/extensions/user-theme" = {
name = if config.colors.enable then "Generated" else "Default";
};
"org/gnome/shell/extensions/just-perfection" = {
activities-button = false;
animation = 3;
app-menu = true;
app-menu-icon = true;
background-menu = true;
dash = false;
double-super-to-appgrid = true;
gesture = true;
hot-corner = false;
show-apps-button = false;
startup-status = 0;
window-picker-icon = false;
window-preview-caption = true;
workspace = true;
workspace-popup = false;
workspace-switcher-should-show = false;
workspaces-in-app-grid = true;
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = [
"pop-shell@system76.com"
"rrc@ogarcia.me"
"native-window-placement@gnome-shell-extensions.gcampax.github.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"improved-workspace-indicator@michaelaquilina.github.io"
"Vitals@CoreCoding.com"
"clipboard-indicator@tudmotu.com"
"just-perfection-desktop@just-perfection"
"appindicatorsupport@rgcjonas.gmail.com"
];
};
"org/gnome/desktop/peripherals/touchpad" = {
natural-scroll = false;
};
"org/gnome/mutter" = {
edge-tiling = false;
dynamic-workspaces = false;
};
"org/gnome/shell/extensions/blur-me" = {
toggle-app-blur = false;
};
"org/gnome/desktop/wm/preferences" = {
focus-mode = "sloppy";
resize-with-right-button = true;
num-workspaces = 9;
};
"org/gnome/maps" = {
night-mode = true;
transportation-type = "car";
};
"org/gnome/system/location" = {
enabled = true;
};
"org/gnome/desktop/wm/keybindings" = {
move-to-workspace-1 = [ "<Shift><Super>exclam" ];
move-to-workspace-2 = [ "<Shift><Super>at" ];
move-to-workspace-3 = [ "<Shift><Super>numbersign" ];
move-to-workspace-4 = [ "<Shift><Super>dollar" ];
move-to-workspace-5 = [ "<Shift><Super>percent" ];
move-to-workspace-6 = [ "<Shift><Super>asciicircum" ];
move-to-workspace-7 = [ "<Shift><Super>ampersand" ];
move-to-workspace-8 = [ "<Shift><Super>asterisk" ];
move-to-workspace-9 = [ "<Shift><Super>parenleft" ];
switch-to-workspace-1 = [ "<Super>1" ];
switch-to-workspace-2 = [ "<Super>2" ];
switch-to-workspace-3 = [ "<Super>3" ];
switch-to-workspace-4 = [ "<Super>4" ];
switch-to-workspace-5 = [ "<Super>5" ];
switch-to-workspace-6 = [ "<Super>6" ];
switch-to-workspace-7 = [ "<Super>7" ];
switch-to-workspace-8 = [ "<Super>8" ];
switch-to-workspace-9 = [ "<Super>9" ];
minimize = [ "<Super>comma" ];
switch-to-workspace-left = [ "" ];
switch-to-workspace-right = [ "" ];
maximize = [ "" ];
unmaximize = [ "" ];
move-to-monitor-up = [ "" ];
move-to-monitor-down = [ "" ];
move-to-monitor-left = [ "" ];
move-to-monitor-right = [ "" ];
move-to-workspace-down = [ "" ];
move-to-workspace-up = [ "" ];
switch-to-workspace-down = [ "<Primary><Super>Down" "<Primary><Super>j" ];
switch-to-workspace-up = [ "<Primary><Super>Up" "<Primary><Super>k" ];
toggle-maximized = [ "<Super>m" ];
close = [ "<Super>q" "<Alt>F4" ];
};
"org/gnome/mutter/keybindings" = {
toggle-tiled-left = [ "" ];
toggle-tiled-right = [ "" ];
};
"org/gnome/mutter/wayland/keybindings" = {
restore-shortcuts = [ "" ];
};
"org/gnome/shell/keybindings" = {
open-application-menu = [ "" ];
toggle-message-tray = [ "<Super>v" ];
toggle-overview = [ "" ];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
screensaver = [ "<Super>Escape" ];
home = [ "<Super>f" ];
email = [ "<Super>e" ];
www = [ "<Super>b" ];
terminal = [ "<Super>t" ];
rotate-video-lock-static = [ "" ];
area-screenshot = [ "<Primary><Shift>Print" ];
area-screenshot-clip = [ "<Shift>Print" ];
screenshot = [ "<Primary>Print" ];
screenshot-clip = [ "Print" ];
window-screenshot = [ "<Primary><Alt>Print" ];
window-screenshot-clip = [ "<Alt>Print" ];
};
};
};
}

View File

@ -12,5 +12,6 @@ inputs:
./gamerenv.nix ./gamerenv.nix
./fonts.nix ./fonts.nix
./mopidy.nix ./mopidy.nix
./de2u.nix
]; ];
} }

View File

@ -596,45 +596,10 @@ in
}; };
}; };
programs.direnv = {
enable = lib.mkDefault true;
nix-direnv.enable = lib.mkDefault true;
stdlib = ''
: ''${XDG_CACHE_HOME:=$HOME/.cache}
declare -A direnv_layout_dirs
direnv_layout_dir() {
echo "''${direnv_layout_dirs[$PWD]:=$(
echo -n "$XDG_CACHE_HOME"/direnv/layouts/
echo -n "$PWD" | shasum | cut -d ' ' -f 1
)}"
}
'';
};
colors.enable = lib.mkDefault true; colors.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true; fonts.enable = lib.mkDefault true;
programs.chromium = { programs.chromium.enable = lib.mkDefault true;
enable = lib.mkDefault true;
package = lib.mkDefault ((pkgs.ungoogled-chromium.overrideAttrs (old: {
patches = [
../data/chromium-dark.patch
];
})).override {
commandLineArgs = lib.concatStringsSep " " [
# I think if the dark patch worked, this should be removed, it doesn't seem to...
"--force-dark-mode"
"--enable-features=UseOzonePlatform,WebUIDarkMode,VaapiVideoDecoder"
"--ozone-platform=wayland"
"--ignore-gpu-blocklist"
"--enable-gpu-rasterization"
"--enable-zero-copy"
"--disable-gpu-driver-bug-workarounds"
"--use-gl=egl"
];
});
};
services.blueman-applet.enable = lib.mkDefault cfg.bluetooth; services.blueman-applet.enable = lib.mkDefault cfg.bluetooth;
@ -710,49 +675,50 @@ in
image_backend="kitty" image_backend="kitty"
''; '';
programs.mpv = { xdg.enable = true;
enable = lib.mkDefault true; xdg.userDirs.enable = true;
config = {
profile = lib.mkDefault "gpu-hq"; xdg.mimeApps = {
ytdl-format = lib.mkDefault "bestvideo+bestaudio"; enable = true;
defaultApplications = {
"inode/directory" = "pcmanfm-qt.desktop";
"text/html" = "chromium-browser.desktop";
"x-scheme-handler/http" = "chromium-browser.desktop";
"x-scheme-handler/https" = "chromium-browser.desktop";
"x-scheme-handler/about" = "chromium-browser.desktop";
"application/zip" = "ark.desktop";
"application/rar" = "ark.desktop";
"application/7z" = "ark.desktop";
"application/*tar" = "ark.desktop";
}; };
}; };
programs.mpv.enable = lib.mkDefault true;
fonts.fontconfig.enable = lib.mkDefault true; fonts.fontconfig.enable = lib.mkDefault true;
home.packages = with pkgs; [ home.packages = with pkgs; [
waybar wl-clipboard
wl-clipboard # important actually, for vim and other things
xwayland
libappindicator-gtk3
jq
# ezpcusr stuff
ezDrv ezDrv
inputs.mudl.defaultPackage.${pkgs.system} inputs.mudl.defaultPackage.${pkgs.system}
bitwarden-cli # programs
kitty
pavucontrol pavucontrol
ark
pcmanfm-qt
# CLI tools
yt-dlp yt-dlp
maim maim
slop slop
ark # CLI tools that integrate with ezpcusr things
notify-osd
ffmpeg
id3v2
imagemagick
mpc_cli mpc_cli
playerctl playerctl
nix-index
gitAndTools.hub
nmap
nixpkgs-fmt
xorg.xhost xorg.xhost
]; ];

19
modules/de2.nix Normal file
View File

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.de2;
in
{
options.de2.enable = mkEnableOption "Enable de2 system stuff";
config = mkIf cfg.enable {
services.xserver = {
enable = lib.mkDefault true;
displayManager.gdm.enable = lib.mkDefault true;
desktopManager.gnome.enable = lib.mkDefault true;
};
hardware.pulseaudio.enable = false;
services.power-profiles-daemon.enable = false;
};
}

View File

@ -8,5 +8,6 @@
./fuckingprint.nix ./fuckingprint.nix
./workstation.nix ./workstation.nix
./ezpw.nix ./ezpw.nix
./de2.nix
]; ];
} }

View File

@ -25,7 +25,7 @@ in
nssmdns = lib.mkDefault true; nssmdns = lib.mkDefault true;
}; };
services.flatpak.enable = true; services.flatpak.enable = lib.mkDefault true;
services.ezpw.enable = lib.mkDefault true; services.ezpw.enable = lib.mkDefault true;
@ -96,7 +96,7 @@ in
libvdpau-va-gl libvdpau-va-gl
libGL libGL
]; ];
setLdLibraryPath = true; setLdLibraryPath = lib.mkDefault true;
}; };
# Support for steam hardware # Support for steam hardware
@ -144,9 +144,9 @@ in
fonts.fontconfig.cache32Bit = lib.mkDefault true; fonts.fontconfig.cache32Bit = lib.mkDefault true;
services.xserver = { services.xserver = {
libinput = { libinput = {
enable = true; enable = lib.mkDefault true;
mouse.accelProfile = "flat"; mouse.accelProfile = lib.mkDefault "flat";
touchpad.accelProfile = "flat"; touchpad.accelProfile = lib.mkDefault "flat";
}; };
dpi = lib.mkDefault 96; dpi = lib.mkDefault 96;
layout = lib.mkDefault "us"; layout = lib.mkDefault "us";
@ -157,7 +157,6 @@ in
"default-sample-rate" = lib.mkDefault "48000"; "default-sample-rate" = lib.mkDefault "48000";
}; };
# networking.networkmanager.ethernet.macAddress = "random";
networking.networkmanager.wifi.macAddress = lib.mkDefault "random"; networking.networkmanager.wifi.macAddress = lib.mkDefault "random";
networking.networkmanager.wifi.scanRandMacAddress = lib.mkDefault true; networking.networkmanager.wifi.scanRandMacAddress = lib.mkDefault true;
@ -214,7 +213,6 @@ in
''; '';
# bluetooth # bluetooth
services.blueman.enable = lib.mkDefault true;
hardware.bluetooth.enable = lib.mkDefault true; hardware.bluetooth.enable = lib.mkDefault true;
hardware.bluetooth.settings.General.Enable = lib.mkDefault "Source,Sink,Media,Socket"; hardware.bluetooth.settings.General.Enable = lib.mkDefault "Source,Sink,Media,Socket";
}; };