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 = [
./hardware.nix
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";

View file

@ -19,6 +19,7 @@
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
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) [
# languages
gcc13
@ -27,6 +28,8 @@
cargo
go
python312
python312Packages.ptpython
python312Packages.ipython
lua
nixpkgs-fmt
openjdk17

View file

@ -2,15 +2,24 @@
colorschemes = rec {
custom = {
black = "#000000";
_black = "000000";
white = "#ffffff";
_white = "ffffff";
# https://yeun.github.io/open-color/
active = "#ffdeeb"; # pink1
activeDark = "#f783ac"; # pink4
_activeDark = "f783ac"; # pink4
active = "#ffffff"; # white
activeDark = "#4276b9"; # blue
_activeDark = "4276b9"; # blue
inactive = "#495057"; # gray7
inactiveDark = "#212529"; # gray9
alert = "#c92a2a"; # red9
# active = "#ffdeeb"; # pink1
# activeDark = "#f783ac"; # pink4
# _activeDark = "f783ac"; # pink4
# inactive = "#495057"; # gray7
# inactiveDark = "#212529"; # gray9
# alert = "#c92a2a"; # red9
};
default = custom;
};
@ -19,9 +28,19 @@
font-size = "14";
gtk = "Adwaita";
wallpaper = pkgs.fetchurl {
wallpaper = rec {
neptun = pkgs.fetchurl {
url = "https://live.staticflickr.com/65535/52797919139_2444712a38_o_d.png";
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_QPA_PLATFORM,wayland-egl"
# "QT_QPA_PLATFORM,wayland"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
# java
@ -97,7 +96,6 @@ in
] ++ optionals nvidia.enable [
# nvidia
"LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
# following causes Hyprland to crash on startup with 535 drivers
# "GBM_BACKEND,nvidia-drm"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
@ -105,7 +103,7 @@ in
];
"exec-once" = with pkgs; [
"${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"
"${kanshi}/bin/kanshi"
"${networkmanagerapplet}/bin/nm-applet"

View file

@ -35,7 +35,7 @@ in
terminal = "${pkgs.alacritty}/bin/alacritty";
menu = "${pkgs.dmenu}/bin/dmenu_run";
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 = "${blueman}/bin/blueman-applet"; }
{ command = "${udiskie}/bin/udiskie --tray"; }

View file

@ -1,4 +1,4 @@
{ pkgs, lib, config, ... }:
{ pkgs, lib, config, nixosConfig, ... }:
let
cfg = config.wayland.windowManager.sway.config;
@ -45,35 +45,39 @@ in
gtk = true;
};
xwayland = true;
extraSessionCommands = ''
extraSessionCommands = with lib; with nixosConfig.bchmnn; ''
export CLUTTER_BACKEND=wayland;
export GDK_BACKEND=wayland;
export GDK_DPI_SCALE=1;
export NIXOS_OZONE_WL=1;
export WLR_NO_HARDWARE_CURSORS=1;
export MOZ_ENABLE_WAYLAND=1;
export MOZ_USE_XINPUT2=1;
export XDG_SESSION_TYPE=wayland;
export XDG_CURRENT_DESKTOP=sway;
# SDL:
# sdl
export SDL_VIDEODRIVER=wayland
# QT (needs qt5.qtwayland in systemPackages):
# qt
export QT_QPA_PLATFORM=wayland-egl
# export QT_QPA_PLATFORM=wayland
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_OPTIONS="-Dawt.useSystemAAFontSettings=on";
# Nvidia
# export WLR_RENDERER=vulkan;
'' + optionalString nvidia.enable ''
# nvidia
export WLR_RENDERER=vulkan;
export LIBVA_DRIVER_NAME,nvidia;
# export GBM_BACKEND=nvidia-drm;
# export __GL_GSYNC_ALLOWED=0;
# export __GL_VRR_ALLOWED=0;
# export __GLX_VENDOR_LIBRARY_NAME=nvidia;
# Xwayland compat
# export XWAYLAND_NO_GLAMOR=1;
export __GL_GSYNC_ALLOWED=0;
export __GL_VRR_ALLOWED=0;
export __GLX_VENDOR_LIBRARY_NAME=nvidia;
export WLR_NO_HARDWARE_CURSORS=1;
# xwayland compat
export XWAYLAND_NO_GLAMOR=1;
'';
config = {
modifier = "Mod4";
@ -116,7 +120,7 @@ in
};
};
output = {
"*".bg = "${common.wallpaper} fill";
"*".bg = "${common.wallpaper.default} fill";
};
left = "h";
down = "j";
@ -124,7 +128,7 @@ in
right = "l";
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
"${cfg.modifier}+Return" = "exec ${cfg.terminal}";