feat: a lot of stuff

This commit is contained in:
Jacob Bachmann 2024-04-24 10:19:57 +02:00
parent 21ea9638e5
commit 0975ba3044
Signed by: bchmnn
GPG key ID: 732A612DAD28067D
6 changed files with 55 additions and 28 deletions

View file

@ -3,6 +3,9 @@
imports = [ imports = [
./hardware.nix ./hardware.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t430 inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t430
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-acpi_call
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
]; ];
networking.hostName = "T430"; networking.hostName = "T430";

View file

@ -19,6 +19,7 @@
xidel # command line tool to download and extract data from html/xml pages as well as json apis xidel # command line tool to download and extract data from html/xml pages as well as json apis
nvd # nix/nixos package version diff tool nvd # nix/nixos package version diff tool
inotify-tools # a c library and a set of command-line programs providing a simple interface to inotify inotify-tools # a c library and a set of command-line programs providing a simple interface to inotify
wireguard-tools # tools for the wireguard secure network tunnel
] ++ lib.optionals (devenv.enable) [ ] ++ lib.optionals (devenv.enable) [
# languages # languages
gcc13 gcc13
@ -27,6 +28,8 @@
cargo cargo
go go
python312 python312
python312Packages.ptpython
python312Packages.ipython
lua lua
nixpkgs-fmt nixpkgs-fmt
openjdk17 openjdk17

View file

@ -2,15 +2,24 @@
colorschemes = rec { colorschemes = rec {
custom = { custom = {
black = "#000000"; black = "#000000";
_black = "000000";
white = "#ffffff"; white = "#ffffff";
_white = "ffffff";
# https://yeun.github.io/open-color/ # https://yeun.github.io/open-color/
active = "#ffdeeb"; # pink1 active = "#ffffff"; # white
activeDark = "#f783ac"; # pink4 activeDark = "#4276b9"; # blue
_activeDark = "f783ac"; # pink4 _activeDark = "4276b9"; # blue
inactive = "#495057"; # gray7 inactive = "#495057"; # gray7
inactiveDark = "#212529"; # gray9 inactiveDark = "#212529"; # gray9
alert = "#c92a2a"; # red9 alert = "#c92a2a"; # red9
# active = "#ffdeeb"; # pink1
# activeDark = "#f783ac"; # pink4
# _activeDark = "f783ac"; # pink4
# inactive = "#495057"; # gray7
# inactiveDark = "#212529"; # gray9
# alert = "#c92a2a"; # red9
}; };
default = custom; default = custom;
}; };
@ -19,9 +28,19 @@
font-size = "14"; font-size = "14";
gtk = "Adwaita"; gtk = "Adwaita";
wallpaper = pkgs.fetchurl { wallpaper = rec {
url = "https://live.staticflickr.com/65535/52797919139_2444712a38_o_d.png"; neptun = pkgs.fetchurl {
sha256 = "1a9148d8911fa25afa82d3b843ee620173955a7ca705d525f3e9d00e00696308"; url = "https://live.staticflickr.com/65535/52797919139_2444712a38_o_d.png";
meta.licenses = lib.licenses.cc0; sha256 = "1a9148d8911fa25afa82d3b843ee620173955a7ca705d525f3e9d00e00696308";
meta.licenses = lib.licenses.cc0;
};
everest = pkgs.fetchurl {
url = "https://images7.alphacoders.com/546/546508.jpg";
sha256 = "90774d977a5f9cde2264fc1c46417b34046f491b5caca7805c9cd17e3463777b";
meta.licenses = lib.licenses.cc0;
};
default = everest;
}; };
} }

View file

@ -88,7 +88,6 @@ in
# qt # qt
"QT_QPA_PLATFORM,wayland-egl" "QT_QPA_PLATFORM,wayland-egl"
# "QT_QPA_PLATFORM,wayland"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1" "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
# java # java
@ -97,7 +96,6 @@ in
] ++ optionals nvidia.enable [ ] ++ optionals nvidia.enable [
# nvidia # nvidia
"LIBVA_DRIVER_NAME,nvidia" "LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
# following causes Hyprland to crash on startup with 535 drivers # following causes Hyprland to crash on startup with 535 drivers
# "GBM_BACKEND,nvidia-drm" # "GBM_BACKEND,nvidia-drm"
"__GLX_VENDOR_LIBRARY_NAME,nvidia" "__GLX_VENDOR_LIBRARY_NAME,nvidia"
@ -105,7 +103,7 @@ in
]; ];
"exec-once" = with pkgs; [ "exec-once" = with pkgs; [
"${config.programs.waybar.package}/bin/waybar -c ${config.xdg.configHome}/waybar/hyprbar.json -s ${config.xdg.configHome}/waybar/hyprbar.css" "${config.programs.waybar.package}/bin/waybar -c ${config.xdg.configHome}/waybar/hyprbar.json -s ${config.xdg.configHome}/waybar/hyprbar.css"
"${swaybg}/bin/swaybg -m fill -i ${common.wallpaper}" "${swaybg}/bin/swaybg -m fill -i ${common.wallpaper.default}"
"${dbus}/bin/dbus-update-activation-environment --all" "${dbus}/bin/dbus-update-activation-environment --all"
"${kanshi}/bin/kanshi" "${kanshi}/bin/kanshi"
"${networkmanagerapplet}/bin/nm-applet" "${networkmanagerapplet}/bin/nm-applet"

View file

@ -35,7 +35,7 @@ in
terminal = "${pkgs.alacritty}/bin/alacritty"; terminal = "${pkgs.alacritty}/bin/alacritty";
menu = "${pkgs.dmenu}/bin/dmenu_run"; menu = "${pkgs.dmenu}/bin/dmenu_run";
startup = with pkgs; [ startup = with pkgs; [
{ command = "${feh}/bin/feh --bg-fill ${common.wallpaper}"; } { command = "${feh}/bin/feh --bg-fill ${common.wallpaper.default}"; }
{ command = "${networkmanagerapplet}/bin/nm-applet"; } { command = "${networkmanagerapplet}/bin/nm-applet"; }
{ command = "${blueman}/bin/blueman-applet"; } { command = "${blueman}/bin/blueman-applet"; }
{ command = "${udiskie}/bin/udiskie --tray"; } { command = "${udiskie}/bin/udiskie --tray"; }

View file

@ -1,4 +1,4 @@
{ pkgs, lib, config, ... }: { pkgs, lib, config, nixosConfig, ... }:
let let
cfg = config.wayland.windowManager.sway.config; cfg = config.wayland.windowManager.sway.config;
@ -45,35 +45,39 @@ in
gtk = true; gtk = true;
}; };
xwayland = true; xwayland = true;
extraSessionCommands = '' extraSessionCommands = with lib; with nixosConfig.bchmnn; ''
export CLUTTER_BACKEND=wayland; export CLUTTER_BACKEND=wayland;
export GDK_BACKEND=wayland; export GDK_BACKEND=wayland;
export GDK_DPI_SCALE=1; export GDK_DPI_SCALE=1;
export NIXOS_OZONE_WL=1; export NIXOS_OZONE_WL=1;
export WLR_NO_HARDWARE_CURSORS=1;
export MOZ_ENABLE_WAYLAND=1; export MOZ_ENABLE_WAYLAND=1;
export MOZ_USE_XINPUT2=1; export MOZ_USE_XINPUT2=1;
export XDG_SESSION_TYPE=wayland; export XDG_SESSION_TYPE=wayland;
export XDG_CURRENT_DESKTOP=sway; export XDG_CURRENT_DESKTOP=sway;
# SDL:
# sdl
export SDL_VIDEODRIVER=wayland export SDL_VIDEODRIVER=wayland
# QT (needs qt5.qtwayland in systemPackages):
# qt
export QT_QPA_PLATFORM=wayland-egl export QT_QPA_PLATFORM=wayland-egl
# export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
# Fix for some Java AWT applications (e.g. Android Studio),
# use this if they aren't displayed properly: # java
export _JAVA_AWT_WM_NONREPARENTING=1 export _JAVA_AWT_WM_NONREPARENTING=1
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"; export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on";
# Nvidia '' + optionalString nvidia.enable ''
# export WLR_RENDERER=vulkan; # nvidia
export WLR_RENDERER=vulkan;
export LIBVA_DRIVER_NAME,nvidia;
# export GBM_BACKEND=nvidia-drm; # export GBM_BACKEND=nvidia-drm;
# export __GL_GSYNC_ALLOWED=0; export __GL_GSYNC_ALLOWED=0;
# export __GL_VRR_ALLOWED=0; export __GL_VRR_ALLOWED=0;
# export __GLX_VENDOR_LIBRARY_NAME=nvidia; export __GLX_VENDOR_LIBRARY_NAME=nvidia;
# Xwayland compat export WLR_NO_HARDWARE_CURSORS=1;
# export XWAYLAND_NO_GLAMOR=1;
# xwayland compat
export XWAYLAND_NO_GLAMOR=1;
''; '';
config = { config = {
modifier = "Mod4"; modifier = "Mod4";
@ -116,7 +120,7 @@ in
}; };
}; };
output = { output = {
"*".bg = "${common.wallpaper} fill"; "*".bg = "${common.wallpaper.default} fill";
}; };
left = "h"; left = "h";
down = "j"; down = "j";
@ -124,7 +128,7 @@ in
right = "l"; right = "l";
keybindings = { keybindings = {
"${cfg.modifier}+Ctrl+Shift+l" = "exec ${pkgs.swaylock-effects}/bin/swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color ffffff --key-hl-color ${common.colorschemes.default._activeDark} --line-color 00000000 --inside-color 00000088 --inside-ver-color ${common.colorschemes.default._activeDark} --separator-color 00000000 --text-color ${common.colorschemes.default._activeDark} --fade-in 0.1"; "${cfg.modifier}+Ctrl+Shift+l" = "exec ${pkgs.swaylock-effects}/bin/swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color ffffff --key-hl-color ${common.colorschemes.default._black} --line-color 00000000 --inside-color 00000088 --inside-ver-color ${common.colorschemes.default._white} --separator-color 00000000 --text-color ${common.colorschemes.default._white} --fade-in 0.1";
# Basics # Basics
"${cfg.modifier}+Return" = "exec ${cfg.terminal}"; "${cfg.modifier}+Return" = "exec ${cfg.terminal}";