diff --git a/jaci/desktop-configuration.nix b/jaci/desktop-configuration.nix index 97b1423..369010a 100644 --- a/jaci/desktop-configuration.nix +++ b/jaci/desktop-configuration.nix @@ -28,7 +28,7 @@ in imports = [ modules/user/main_user.nix - modules/kde/kde_conf.nix + modules/labwc/labwc_conf.nix ]; config = { @@ -51,7 +51,7 @@ in # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - boot.plymouth.enable = true; + # boot.plymouth.enable = true; networking.hostName = deskCfg.hostName; # Define your hostname. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. @@ -79,7 +79,7 @@ in # isDesktopUser = true; # }; - kde = { + labwc = { enable = true; useNonFree = true; installGaming = deskCfg.installGaming; diff --git a/jaci/dotfiles/labwc/autostart b/jaci/dotfiles/labwc/autostart new file mode 100644 index 0000000..023e367 --- /dev/null +++ b/jaci/dotfiles/labwc/autostart @@ -0,0 +1,29 @@ +#!/bin/dash + +# Autostart Apps +xset +fp ~/.fonts/misc/ +xset b off +xset r rate 250 25 +xbacklight -set 5 +/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & +pcmanfm -d & +compton -b +hsetroot -tile ~/.wallpaper.png +xsettingsd & +dunst -geometry "300x60-28+56" & + +# Touchpad settings +synclient \ +VertEdgeScroll=0 HorizEdgeScroll=0 \ +VertTwoFingerScroll=1 HorizTwoFingerScroll=1 \ +VertScrollDelta=320 HorizScrollDelta=320 \ +MinSpeed=0.05 MaxSpeed=1.2 \ +AccelFactor=0.04 CoastingSpeed=10 \ +TapButton1=0 TapButton2=0 TapButton3=0 + +# Panel +panel & +trayer \ +--align right --widthtype request --heighttype pixel --height 28 \ +--transparent true --alpha 255 & + diff --git a/jaci/dotfiles/labwc/bullet.xbm b/jaci/dotfiles/labwc/bullet.xbm new file mode 100644 index 0000000..79432ba --- /dev/null +++ b/jaci/dotfiles/labwc/bullet.xbm @@ -0,0 +1,5 @@ +#define bullet_width 9 +#define bullet_height 9 +static unsigned char bullet_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x20, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/close.xbm b/jaci/dotfiles/labwc/close.xbm new file mode 100644 index 0000000..6677987 --- /dev/null +++ b/jaci/dotfiles/labwc/close.xbm @@ -0,0 +1,5 @@ +#define close_width 12 +#define close_height 12 +static unsigned char close_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x90, 0x00, 0x60, 0x00, + 0x60, 0x00, 0x90, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/desk.xbm b/jaci/dotfiles/labwc/desk.xbm new file mode 100644 index 0000000..a9498e4 --- /dev/null +++ b/jaci/dotfiles/labwc/desk.xbm @@ -0,0 +1,5 @@ +#define desk_width 12 +#define desk_height 12 +static unsigned char desk_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/desk_toggled.xbm b/jaci/dotfiles/labwc/desk_toggled.xbm new file mode 100644 index 0000000..02ada31 --- /dev/null +++ b/jaci/dotfiles/labwc/desk_toggled.xbm @@ -0,0 +1,5 @@ +#define desk_toggled_width 12 +#define desk_toggled_height 12 +static unsigned char desk_toggled_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x60, 0x00, + 0x60, 0x00, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/iconify.xbm b/jaci/dotfiles/labwc/iconify.xbm new file mode 100644 index 0000000..8689c16 --- /dev/null +++ b/jaci/dotfiles/labwc/iconify.xbm @@ -0,0 +1,5 @@ +#define iconify_width 12 +#define iconify_height 12 +static unsigned char iconify_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/max.xbm b/jaci/dotfiles/labwc/max.xbm new file mode 100644 index 0000000..d7e925e --- /dev/null +++ b/jaci/dotfiles/labwc/max.xbm @@ -0,0 +1,5 @@ +#define max_width 12 +#define max_height 12 +static unsigned char max_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x40, 0x01, + 0x28, 0x00, 0x18, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/max_disabled.xbm b/jaci/dotfiles/labwc/max_disabled.xbm new file mode 100644 index 0000000..4ff5bce --- /dev/null +++ b/jaci/dotfiles/labwc/max_disabled.xbm @@ -0,0 +1,5 @@ +#define max_disabled_width 12 +#define max_disabled_height 12 +static unsigned char max_disabled_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x40, 0x01, + 0x28, 0x00, 0x18, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/max_toggled.xbm b/jaci/dotfiles/labwc/max_toggled.xbm new file mode 100644 index 0000000..272bba8 --- /dev/null +++ b/jaci/dotfiles/labwc/max_toggled.xbm @@ -0,0 +1,5 @@ +#define max_toggled_width 12 +#define max_toggled_height 12 +static unsigned char max_toggled_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x40, 0x01, + 0x28, 0x00, 0x18, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/menu.xml b/jaci/dotfiles/labwc/menu.xml new file mode 100644 index 0000000..deeef9b --- /dev/null +++ b/jaci/dotfiles/labwc/menu.xml @@ -0,0 +1,52 @@ + + + + + + x-terminal-emulator + + + + + x-www-browser + + + + + + + + + obconf + + + + + + + + + + + + + systemctl suspend + + + + + systemctl reboot + + + + + systemctl poweroff + + + + + diff --git a/jaci/dotfiles/labwc/rc.xml b/jaci/dotfiles/labwc/rc.xml new file mode 100644 index 0000000..668eda0 --- /dev/null +++ b/jaci/dotfiles/labwc/rc.xml @@ -0,0 +1,774 @@ + + + + 10 + 20 + + + yes + + no + + yes + + no + + 200 + + no + + + + Smart + +
yes
+ + Primary + + 1 + +
+ + Adiantum + CLM + + yes + yes + + cinnamonroll + 8 + + Normal + + Normal + + + + cinnamonroll + 8 + + Normal + + Normal + + + + cinnamonroll + 8 + + Normal + + Normal + + + + cinnamonroll + 8 + + Normal + + Normal + + + + cinnamonroll + 8 + + Normal + + Normal + + + + cinnamonroll + 8 + + Normal + + Normal + + + + + + 4 + 1 + + 1 + 2 + 3 + 4 + + 1000 + + + + yes + Nonpixel + + Center + + + + 10 + + 10 + + + + + + 48 + 16 + 16 + 16 + + + TopLeft + + 0 + 0 + no + Above + + Vertical + + no + 300 + + 300 + + Middle + + + + C-g + + + + left + no + + + + + right + no + + + + + + left + no + + + + + right + no + + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + + 1 + no + + + + + 2 + no + + + + + 3 + no + + + + + 4 + no + + + + + + + -0 + +0 + 50/100 + 100/100 + + + + + + +0 + +0 + 50/100 + 100/100 + + + + + + 75/100 + 75/100 + + + + + + + 50/100 + 50/100 + + + + + + + 75/100 + 75/100 + + + + + + + east + + + + + west + + + + + north + + + + + south + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + list + no + + + + + + + + + + list + no + + + + + + + + + + list + yes + yes + + + + + + + + + + list + yes + yes + + + + + + + + + + + right + no + + + + + left + no + + + + + up + no + + + + + down + no + + + + + + launch + + + + + client-list-combined-menu + + + + + root-menu + + + + + + x-terminal-emulator + + + + + x-www-browser + + + + + pcmanfm + + + + + geany + + + + + pavucontrol + + + + + + screeny + + + + + screeny -f + + + + + screeny -s + + + + + + mpc stop + + + + + mpc toggle + + + + + mpc prev + + + + + mpc next + + + + + xbacklight -dec 5 + + + + + xbacklight -inc 5 + + + + + + pulsevol --up + + + + + pulsevol --down + + + + + pulsevol --mute + + + + + + + + + + + + + + + 1 + + 500 + + 0 + + false + + + + + right + no + + + + + left + no + + + + + + + right + no + + + + + left + no + + + + + + + + + + + + + + + + + + no + + + + + + + + yes + + + + + + + + + + + + + + + + + client-menu + + + + + + + top + + + + + + + left + + + + + + + right + + + + + + + bottom + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + root-menu + + + + + client-list-combined-menu + + + + + + menu.xml + 200 + + no + + 100 + + 400 + + no + + yes + + +
diff --git a/jaci/dotfiles/labwc/shade.xbm b/jaci/dotfiles/labwc/shade.xbm new file mode 100644 index 0000000..b24c8d3 --- /dev/null +++ b/jaci/dotfiles/labwc/shade.xbm @@ -0,0 +1,5 @@ +#define shade_width 12 +#define shade_height 12 +static unsigned char shade_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/shade_toggled.xbm b/jaci/dotfiles/labwc/shade_toggled.xbm new file mode 100644 index 0000000..6eed12e --- /dev/null +++ b/jaci/dotfiles/labwc/shade_toggled.xbm @@ -0,0 +1,5 @@ +#define shade_toggled_width 12 +#define shade_toggled_height 12 +static unsigned char shade_toggled_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/jaci/dotfiles/labwc/themerc b/jaci/dotfiles/labwc/themerc new file mode 100644 index 0000000..e941218 --- /dev/null +++ b/jaci/dotfiles/labwc/themerc @@ -0,0 +1,70 @@ +!! Menu +menu.border.width: 8 +menu.border.color: #f9faf4 +menu.overlap.x: -10 +menu.title.bg: flat +menu.title.bg.color: #f9faf4 +menu.title.text.color: #947e7b +menu.title.text.justify: center +menu.items.bg: flat +menu.items.bg.color: #f9faf4 +menu.items.text.color: #947e7b +menu.items.active.bg: flat +menu.items.active.bg.color: #aecdad +menu.items.active.text.color: #526b6e +menu.items.disabled.text.color: #4d5066 +menu.items.justify: left +menu.separator.padding.height: 2 +menu.separator.color: #f9faf4 + +!! Titlebar +window.*.title.bg: flat +window.*.label.bg: parentrelative +window.active.title.bg.color: #e7e8eb +window.active.label.text.color: #70788d +window.inactive.title.bg.color: #e7e8eb +window.inactive.label.text.color: #d3d3d6 +window.label.text.justify: center + +!! Titlebar buttons +window.*.button.*.bg: parentrelative +window.*.button.*.pressed.bg: flat +window.active.button.*.image.color: #70788d +window.active.button.*.hover.image.color: #aecdad +window.active.button.*.pressed.bg.color: #aecdad +window.active.button.disabled.image.color: #d3d3d6 +window.inactive.button.*.image.color: #d3d3d6 +window.inactive.button.disabled.image.color: #d3d3d6 + +!! Borders +border.width: 0 +padding.width: 12 +padding.height: 8 +window.client.padding.width: 0 +window.client.padding.height: 0 +window.handle.width: 2 +window.active.border.color: #e7e8eb +window.active.client.color: #e7e8eb +window.active.handle.bg: flat +window.active.handle.bg.color: #e7e8eb +window.active.grip.bg: flat +window.active.grip.bg.color: #e7e8eb +window.inactive.grip.bg: flat +window.inactive.grip.bg.color: #e7e8eb +window.inactive.border.color: #e7e8eb +window.inactive.handle.bg: flat +window.inactive.handle.bg.color: #e7e8eb +window.inactive.client.color: #e7e8eb + +!! OSD +osd.border.width: 1 +osd.border.color: #e7e8eb +osd.label.text.color: #5c616c +osd.bg: flat +osd.bg.color: #e7e8eb +osd.label.bg: flat +osd.label.bg.color: #e7e8eb +osd.hilight.bg: flat +osd.hilight.bg.color: #aecdad +osd.unhilight.bg: flat solid +osd.unhilight.bg.color: #70788d diff --git a/jaci/dotfiles/paper-openbox-200409.zip b/jaci/dotfiles/paper-openbox-200409.zip new file mode 100644 index 0000000..29037bc Binary files /dev/null and b/jaci/dotfiles/paper-openbox-200409.zip differ diff --git a/jaci/modules/home-manager/home.nix b/jaci/modules/home-manager/home.nix index 33e6867..7e24b75 100644 --- a/jaci/modules/home-manager/home.nix +++ b/jaci/modules/home-manager/home.nix @@ -108,20 +108,20 @@ # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. - # home.file."${config.xdg.configHome}" = { + home.file."${config.xdg.configHome}" = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in # # the Nix store. Activating the configuration will then make '~/.screenrc' a # # symlink to the Nix store copy. # ".screenrc".source = dotfiles/screenrc; - # source = ../../dotfiles; - # recursive = true; + source = ../../dotfiles; + recursive = true; # # You can also set the file content immediately. # ".gradle/gradle.properties".text = '' # org.gradle.console=verbose # org.gradle.daemon.idletimeout=3600000 # ''; - # }; + }; # Home Manager can also manage your environment variables through diff --git a/jaci/modules/kde/kde_conf.nix b/jaci/modules/kde/kde_conf.nix deleted file mode 100644 index aba5507..0000000 --- a/jaci/modules/kde/kde_conf.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ lib, config, pkgs, ... }: -{ - options.kde = { - enable = lib.mkEnableOption "Enable kde."; - useNonFree = lib.mkOption { - default = false; - example = true; - description = "Whether to enable non-free software in the kde config"; - }; - installGaming = lib.mkOption { - default = false; - example = true; - description = "Whether to install gaming software on the system."; - }; - systemPackages = lib.mkOption { - default = []; - description = "Add any additional packages desired. Merged with kde defaults."; - }; - - }; - - ### - ## Configuration - ### - config = lib.mkIf config.kde.enable { - - nixpkgs.config.allowUnfree = config.kde.useNonFree; - - ### - ## System Packages - ### - environment.systemPackages = with pkgs; lib.lists.flatten [ - [ - bash - git - glib # gsettings - ncspot - zsh - ] - config.kde.systemPackages - ]; - - programs.zsh.enable = true; - programs.steam.enable = config.kde.installGaming; - - # kdeconnect setup - programs.kdeconnect.enable = true; - - ### - ## Services - ### - services.openssh.enable = true; - # services.dbus.enable = true; - # enabling kde - services.xserver.enable = true; - services.xserver.displayManager.defaultSession = "plasmawayland"; - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - ### - ## Misc - ### - sound.enable = true; - - hardware.opengl = { - enable = true; - driSupport = true; - }; - }; -} diff --git a/jaci/modules/labwc/labwc_conf.nix b/jaci/modules/labwc/labwc_conf.nix new file mode 100644 index 0000000..33d7ccb --- /dev/null +++ b/jaci/modules/labwc/labwc_conf.nix @@ -0,0 +1,132 @@ +{ lib, config, pkgs, ... }: +{ + options.labwc = { + enable = lib.mkEnableOption "Enable labwc window manager."; + useNonFree = lib.mkOption { + default = false; + example = true; + description = "Whether to enable non-free software in the labwc config"; + }; + installGaming = lib.mkOption { + default = false; + example = true; + description = "Whether to install gaming software on the system."; + }; + systemPackages = lib.mkOption { + default = []; + description = "Add any additional packages desired. Merged with labwc defaults."; + }; + + }; + + ### + ## Configuration + ### + config = lib.mkIf config.labwc.enable { + + programs.sway.enable = true; + + nixpkgs.config.allowUnfree = config.labwc.useNonFree; + # For R2ModMan + # nixpkgs.config.permittedInsecurePackages = [ + # "electron-25.9.0" + # ]; + + ### + ## XDG portal setup + ### + xdg.portal = { + config = { + common = { + default = [ + "wlr" + ]; + }; + }; + extraPortals = with pkgs; [ + xdg-desktop-portal-gtk + ]; + wlr.enable = true; + enable = true; + }; + xdg.sounds.enable = true; + + ### + ## System Packages + ### + environment.systemPackages = with pkgs; lib.lists.flatten [ + [ + bash + foot + git + glib # gsettings + grim + labwc + libnotify + mako + ncspot + networkmanagerapplet + pavucontrol + slurp + swaylock + swayidle + swww + wl-clipboard + waybar + wdisplays + wofi + xdg-utils + zsh + # Fonts + ] + config.labwc.systemPackages + # (lib.mkIf config.labwc.installGaming [ + # pkgs.lutris + # ]) + ]; + + environment.loginShellInit = '' + [[ "$(tty)" == /dev/tty1 ]] && labwc + ''; + # Thunar config + programs.thunar = { + enable = true; + plugins = with pkgs.xfce; [ + thunar-archive-plugin + thunar-volman + ]; + }; + programs.file-roller.enable = true; + programs.xfconf.enable = true; + + programs.zsh.enable = true; + programs.steam.enable = config.labwc.installGaming; + + # kdeconnect setup + programs.kdeconnect.enable = true; + + ### + ## Services + ### + services.gvfs.enable = true; # thunar functionalities + services.openssh.enable = true; + services.dbus.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + }; + + ### + ## Misc + ### + sound.enable = true; + # Necessary for home-manager labwc setup + security.polkit.enable = true; + + hardware.opengl = { + enable = true; + driSupport = true; + }; + }; +} diff --git a/nate/desktop-configuration.nix b/nate/desktop-configuration.nix index 31fb333..413b473 100644 --- a/nate/desktop-configuration.nix +++ b/nate/desktop-configuration.nix @@ -54,7 +54,7 @@ in # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - boot.plymouth.enable = true; + # boot.plymouth.enable = true; networking.hostName = deskCfg.hostName; # Define your hostname. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. diff --git a/nate/modules/apps/firefox/firefox.nix b/nate/modules/apps/firefox/firefox.nix index 1b9dae5..27a813a 100644 --- a/nate/modules/apps/firefox/firefox.nix +++ b/nate/modules/apps/firefox/firefox.nix @@ -38,6 +38,7 @@ in settings = { "browser.startup.blankWindow" = true; "browser.startup.homepage" = "about:blank"; + "browser.newtabpage.enabled" = false; "browser.search.region" = "US"; "browser.search.isUS" = true; "distribution.searchplugins.defaultLocale" = "en-US"; diff --git a/nate/modules/home-manager/home.nix b/nate/modules/home-manager/home.nix index a7fcb33..321dfad 100644 --- a/nate/modules/home-manager/home.nix +++ b/nate/modules/home-manager/home.nix @@ -74,6 +74,8 @@ ripgrep tre-command gtop + # Normies + unzip # # Photo / Video diff --git a/nate/modules/sway/sway_conf.nix b/nate/modules/sway/sway_conf.nix index 30a9201..efc8924 100644 --- a/nate/modules/sway/sway_conf.nix +++ b/nate/modules/sway/sway_conf.nix @@ -125,8 +125,12 @@ # Necessary for home-manager sway setup security.polkit.enable = true; + # Use amdgpu-pro drivers for davinci + # services.xserver.videoDrivers = [ "amdgpu-pro" ]; hardware.opengl = { + # Mesa enable = true; + # Vulkan driSupport = true; }; }; diff --git a/nate/nixos/hardware-configuration.nix b/nate/nixos/hardware-configuration.nix index 31e746e..29201f6 100644 --- a/nate/nixos/hardware-configuration.nix +++ b/nate/nixos/hardware-configuration.nix @@ -9,7 +9,7 @@ ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; + boot.initrd.kernelModules = [ "amdgpu" ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ];