Updates to various stuff, adding jaci system config

This commit is contained in:
Nathan Anderson 2024-01-20 11:52:14 -07:00
parent 1ae71eba14
commit e9663453f8
24 changed files with 1123 additions and 78 deletions

View File

@ -28,7 +28,7 @@ in
imports = [ imports = [
modules/user/main_user.nix modules/user/main_user.nix
modules/kde/kde_conf.nix modules/labwc/labwc_conf.nix
]; ];
config = { config = {
@ -51,7 +51,7 @@ in
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true; # boot.plymouth.enable = true;
networking.hostName = deskCfg.hostName; # Define your hostname. networking.hostName = deskCfg.hostName; # Define your hostname.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
@ -79,7 +79,7 @@ in
# isDesktopUser = true; # isDesktopUser = true;
# }; # };
kde = { labwc = {
enable = true; enable = true;
useNonFree = true; useNonFree = true;
installGaming = deskCfg.installGaming; installGaming = deskCfg.installGaming;

View File

@ -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 &

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu
xmlns="http://openbox.org/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://openbox.org/
file:///usr/share/openbox/menu.xsd">
<menu id="root-menu" label="Openbox 3">
<item label="Terminal emulator">
<action name="Execute">
<execute>x-terminal-emulator</execute>
</action>
</item>
<item label="Web browser">
<action name="Execute">
<execute>x-www-browser</execute>
</action>
</item>
<separator />
<menu execute="openbox-menu lxde-applications.menu" id="apps" label="Applications"/>
<menu id="client-list-menu" />
<separator />
<item label="Configurations">
<action name="Execute">
<execute>obconf</execute>
</action>
</item>
<item label="Reconfigure">
<action name="Reconfigure" />
</item>
<separator />
<menu id="exit" label="Exit" >
<item label="Logout">
<action name="Exit" />
</item>
<item label="Suspend">
<action name="Execute">
<execute>systemctl suspend</execute>
</action>
</item>
<item label="Reboot">
<action name="Execute">
<execute>systemctl reboot</execute>
</action>
</item>
<item label="Shutdown">
<action name="Execute">
<execute>systemctl poweroff</execute>
</action>
</item>
</menu>
</menu>
</openbox_menu>

774
jaci/dotfiles/labwc/rc.xml Normal file
View File

@ -0,0 +1,774 @@
<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<screen_edge_strength>20</screen_edge_strength>
</resistance>
<focus>
<focusNew>yes</focusNew>
<!-- Always try to focus new windows when they appear. other rules do apply -->
<followMouse>no</followMouse>
<!-- Move focus to a window when you move the mouse into it -->
<focusLast>yes</focusLast>
<!-- Focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>no</underMouse>
<!-- Move focus under the mouse, even when the mouse is not moving -->
<focusDelay>200</focusDelay>
<!-- When followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>no</raiseOnFocus>
<!-- When followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>yes</center>
<!-- Whether to place windows in the center of the free area found or
the top left corner -->
<monitor>Primary</monitor>
<!-- With Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
the active window is, 'Primary' - only on the primary monitor -->
<primaryMonitor>1</primaryMonitor>
<!-- The monitor where Openbox should place popup dialogs such as the
focus cycling popup, or the desktop switch popup. It can be an index
from 1, specifying a particular monitor. Or it can be one of the
following: 'Mouse' - where the mouse is, or 'Active' - where
the active window is -->
</placement>
<theme>
<name>Adiantum</name>
<titleLayout>CLM</titleLayout>
<!--
Available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
-->
<keepBorder>yes</keepBorder>
<animateIconify>yes</animateIconify>
<font place="ActiveWindow">
<name>cinnamonroll</name>
<size>8</size>
<!-- font size in points -->
<weight>Normal</weight>
<!-- 'bold' or 'normal' -->
<slant>Normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveWindow">
<name>cinnamonroll</name>
<size>8</size>
<!-- font size in points -->
<weight>Normal</weight>
<!-- 'bold' or 'normal' -->
<slant>Normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuHeader">
<name>cinnamonroll</name>
<size>8</size>
<!-- font size in points -->
<weight>Normal</weight>
<!-- 'bold' or 'normal' -->
<slant>Normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuItem">
<name>cinnamonroll</name>
<size>8</size>
<!-- font size in points -->
<weight>Normal</weight>
<!-- 'bold' or 'normal' -->
<slant>Normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="ActiveOnScreenDisplay">
<name>cinnamonroll</name>
<size>8</size>
<!-- font size in points -->
<weight>Normal</weight>
<!-- 'bold' or 'normal' -->
<slant>Normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveOnScreenDisplay">
<name>cinnamonroll</name>
<size>8</size>
<!-- font size in points -->
<weight>Normal</weight>
<!-- 'bold' or 'normal' -->
<slant>Normal</slant>
<!-- 'italic' or 'normal' -->
</font>
</theme>
<desktops>
<!-- this stuff is only used at startup, pagers allow you to change them
during a session. these are default values to use when other ones are not
already set by other applications, or saved in your session.
Use obconf if you want to change these without having to log out
and back in -->
<number>4</number>
<firstdesk>1</firstdesk>
<names>
<name>1</name>
<name>2</name>
<name>3</name>
<name>4</name>
</names>
<popupTime>1000</popupTime>
<!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. -->
</desktops>
<resize>
<drawContents>yes</drawContents>
<popupShow>Nonpixel</popupShow>
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
<popupPosition>Center</popupPosition>
<!-- 'Center', 'Top', or 'Fixed' -->
<popupFixedPosition>
<!-- these are used if popupPosition is set to 'Fixed' -->
<x>10</x>
<!-- positive number for distance from left edge, negative number for
distance from right edge, or 'Center' -->
<y>10</y>
<!-- positive number for distance from top edge, negative number for
distance from bottom edge, or 'Center' -->
</popupFixedPosition>
</resize>
<!-- You can reserve a portion of your screen where windows will not cover when
they are maximized, or when they are initially placed.
Many programs reserve space automatically, but you can use this in other
cases. -->
<margins>
<top>48</top>
<bottom>16</bottom>
<left>16</left>
<right>16</right>
</margins>
<dock>
<position>TopLeft</position>
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
<floatingX>0</floatingX>
<floatingY>0</floatingY>
<noStrut>no</noStrut>
<stacking>Above</stacking>
<!-- 'Above', 'Normal', or 'Below' -->
<direction>Vertical</direction>
<!-- 'Vertical' or 'Horizontal' -->
<autoHide>no</autoHide>
<hideDelay>300</hideDelay>
<!-- in milliseconds (1000 = 1 second) -->
<showDelay>300</showDelay>
<!-- in milliseconds (1000 = 1 second) -->
<moveButton>Middle</moveButton>
<!-- 'Left', 'Middle', 'Right' -->
</dock>
<keyboard>
<chainQuitKey>C-g</chainQuitKey>
<!-- Keybindings for desktop switching -->
<keybind key="C-A-Left">
<action name="GoToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Right">
<action name="GoToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<!-- Sent window to next or previous workspace -->
<keybind key="W-S-Left">
<action name="SendToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-S-Right">
<action name="SendToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<!-- Switch to another workspace -->
<keybind key="W-1">
<action name="GoToDesktop">
<to>1</to>
</action>
</keybind>
<keybind key="W-2">
<action name="GoToDesktop">
<to>2</to>
</action>
</keybind>
<keybind key="W-3">
<action name="GoToDesktop">
<to>3</to>
</action>
</keybind>
<keybind key="W-4">
<action name="GoToDesktop">
<to>4</to>
</action>
</keybind>
<!-- Sent window to worspace number -->
<keybind key="W-S-1">
<action name="SendToDesktop">
<to>1</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-S-2">
<action name="SendToDesktop">
<to>2</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-S-3">
<action name="SendToDesktop">
<to>3</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-S-4">
<action name="SendToDesktop">
<to>4</to>
<wrap>no</wrap>
</action>
</keybind>
<!-- Keybindings for Aero Snap -->
<keybind key="W-Right">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<x>-0</x>
<y>+0</y>
<width>50/100</width>
<height>100/100</height>
</action>
</keybind>
<keybind key="W-Left">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<x>+0</x>
<y>+0</y>
<width>50/100</width>
<height>100/100</height>
</action>
</keybind>
<keybind key="W-Up">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<width>75/100</width>
<height>75/100</height>
</action>
<action name="MoveToCenter"/>
</keybind>
<keybind key="W-Down">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<width>50/100</width>
<height>50/100</height>
</action>
<action name="MoveToCenter"/>
</keybind>
<keybind key="W-S-Up">
<action name="UnmaximizeFull"/>
<action name="MoveResizeTo">
<width>75/100</width>
<height>75/100</height>
</action>
<action name="MoveToCenter"/>
</keybind>
<!-- Keybindings for moving window to edge -->
<keybind key="W-C-Right">
<action name="MoveToEdge">
<direction>east</direction>
</action>
</keybind>
<keybind key="W-C-Left">
<action name="MoveToEdge">
<direction>west</direction>
</action>
</keybind>
<keybind key="W-C-Up">
<action name="MoveToEdge">
<direction>north</direction>
</action>
</keybind>
<keybind key="W-C-Down">
<action name="MoveToEdge">
<direction>south</direction>
</action>
</keybind>
<keybind key="W-a">
<action name="MoveToCenter"/>
</keybind>
<!-- Keybindings for undecorate, fullscreen, minimize,
roll-up, stick, resize, move, close, and window menu -->
<keybind key="W-t">
<action name="ToggleDecorations"/>
</keybind>
<keybind key="W-f">
<action name="ToggleMaximize"/>
</keybind>
<keybind key="W-z">
<action name="Iconify"/>
</keybind>
<keybind key="W-u">
<action name="ToggleShade"/>
</keybind>
<keybind key="W-s">
<action name="ToggleOmnipresent"/>
</keybind>
<keybind key="W-r">
<action name="Resize"/>
</keybind>
<keybind key="W-m">
<action name="Move"/>
</keybind>
<keybind key="A-F4">
<action name="Close"/>
</keybind>
<keybind key="W-c">
<action name="Close"/>
</keybind>
<keybind key="A-space">
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</keybind>
<!-- Keybindings for window switching -->
<keybind key="A-Tab">
<action name="NextWindow">
<dialog>list</dialog>
<bar>no</bar>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="A-S-Tab">
<action name="PreviousWindow">
<dialog>list</dialog>
<bar>no</bar>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="C-A-Down">
<action name="NextWindow">
<dialog>list</dialog>
<bar>yes</bar>
<raise>yes</raise>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="C-A-Up">
<action name="NextWindow">
<dialog>list</dialog>
<bar>yes</bar>
<raise>yes</raise>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<!-- Keybindings for window switching with the arrow keys -->
<keybind key="W-A-Right">
<action name="DirectionalCycleWindows">
<direction>right</direction>
<dialog>no</dialog>
</action>
</keybind>
<keybind key="W-A-Left">
<action name="DirectionalCycleWindows">
<direction>left</direction>
<dialog>no</dialog>
</action>
</keybind>
<keybind key="W-A-Up">
<action name="DirectionalCycleWindows">
<direction>up</direction>
<dialog>no</dialog>
</action>
</keybind>
<keybind key="W-A-Down">
<action name="DirectionalCycleWindows">
<direction>down</direction>
<dialog>no</dialog>
</action>
</keybind>
<!-- Keybindings for startmenu -->
<keybind key="W-d">
<action name="Execute">
<command>launch</command>
</action>
</keybind>
<keybind key="W-Tab">
<action name="ShowMenu">
<menu>client-list-combined-menu</menu>
</action>
</keybind>
<keybind key="W-space">
<action name="ShowMenu">
<menu>root-menu</menu>
</action>
</keybind>
<!-- Keybindings for running applications -->
<keybind key="W-Return">
<action name="Execute">
<command>x-terminal-emulator</command>
</action>
</keybind>
<keybind key="W-w">
<action name="Execute">
<command>x-www-browser</command>
</action>
</keybind>
<keybind key="W-e">
<action name="Execute">
<command>pcmanfm</command>
</action>
</keybind>
<keybind key="W-g">
<action name="Execute">
<command>geany</command>
</action>
</keybind>
<keybind key="W-v">
<action name="Execute">
<command>pavucontrol</command>
</action>
</keybind>
<!-- Take a screenshot, say "Cheeeese!" -->
<keybind key="Print">
<action name="Execute">
<command>screeny</command>
</action>
</keybind>
<keybind key="A-Print">
<action name="Execute">
<command>screeny -f</command>
</action>
</keybind>
<keybind key="C-Print">
<action name="Execute">
<command>screeny -s</command>
</action>
</keybind>
<!-- Multimedia keys-->
<keybind key="XF86AudioStop">
<action name="Execute">
<command>mpc stop</command>
</action>
</keybind>
<keybind key="XF86AudioPlay">
<action name="Execute">
<command>mpc toggle</command>
</action>
</keybind>
<keybind key="XF86AudioPrev">
<action name="Execute">
<command>mpc prev</command>
</action>
</keybind>
<keybind key="XF86AudioNext">
<action name="Execute">
<command>mpc next</command>
</action>
</keybind>
<keybind key="XF86MonBrightnessDown">
<action name="Execute">
<command>xbacklight -dec 5</command>
</action>
</keybind>
<keybind key="XF86MonBrightnessUp">
<action name="Execute">
<command>xbacklight -inc 5</command>
</action>
</keybind>
<!-- I'm not satisfied with PulseAudio default volume controller.
So, I use custom script instead -->
<keybind key="XF86AudioRaiseVolume">
<action name="Execute">
<command>pulsevol --up</command>
</action>
</keybind>
<keybind key="XF86AudioLowerVolume">
<action name="Execute">
<command>pulsevol --down</command>
</action>
</keybind>
<keybind key="XF86AudioMute">
<action name="Execute">
<command>pulsevol --mute</command>
</action>
</keybind>
<!-- Reload and Exit keybinds -->
<keybind key="W-S-BackSpace">
<action name="Restart"/>
</keybind>
<keybind key="W-S-r">
<action name="Reconfigure"/>
</keybind>
<keybind key="W-S-q">
<action name="Exit"/>
</keybind>
</keyboard>
<mouse>
<dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
<doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>0</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
<!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen -->
<context name="Desktop">
<mousebind button="W-Down" action="Click">
<action name="GoToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</mousebind>
<mousebind button="W-Up" action="Click">
<action name="GoToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</mousebind>
</context>
<context name="Frame">
<mousebind button="W-Down" action="Click">
<action name="GoToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</mousebind>
<mousebind button="W-Up" action="Click">
<action name="GoToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</mousebind>
</context>
<context name="Frame">
<mousebind button="W-Left" action="Drag">
<action name="Move"/>
</mousebind>
</context>
<context name="Titlebar">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximizeFull"/>
</mousebind>
<mousebind button="Up" action="Click">
<action name="if">
<shaded>no</shaded>
<then>
<action name="Shade"/>
</then>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="if">
<shaded>yes</shaded>
<then>
<action name="Unshade"/>
<action name="Raise"/>
</then>
</action>
</mousebind>
</context>
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>top</edge>
</action>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>left</edge>
</action>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>right</edge>
</action>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>bottom</edge>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="TRCorner BRCorner TLCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Icon">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="AllDesktops">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleOmnipresent"/>
</mousebind>
</context>
<context name="Shade">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleShade"/>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleMaximize"/>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Root">
<!-- Menus -->
<mousebind button="Right" action="Press">
<action name="ShowMenu">
<menu>root-menu</menu>
</action>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ShowMenu">
<menu>client-list-combined-menu</menu>
</action>
</mousebind>
</context>
</mouse>
<menu>
<file>menu.xml</file>
<hideDelay>200</hideDelay>
<!-- if a press-release lasts longer than this setting (in milliseconds),
the menu is hidden again -->
<middle>no</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>100</submenuShowDelay>
<!-- time to delay before showing a submenu after hovering over the parent entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on -->
<submenuHideDelay>400</submenuHideDelay>
<!-- time to delay before hiding a submenu when selecting another entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened -->
<showIcons>no</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>yes</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
</menu>
</openbox_config>

View File

@ -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 };

View File

@ -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 };

View File

@ -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

Binary file not shown.

View File

@ -108,20 +108,20 @@
# Home Manager is pretty good at managing dotfiles. The primary way to manage # Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'. # 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 # # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a # # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy. # # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc; # ".screenrc".source = dotfiles/screenrc;
# source = ../../dotfiles; source = ../../dotfiles;
# recursive = true; recursive = true;
# # You can also set the file content immediately. # # You can also set the file content immediately.
# ".gradle/gradle.properties".text = '' # ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose # org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000 # org.gradle.daemon.idletimeout=3600000
# ''; # '';
# }; };
# Home Manager can also manage your environment variables through # Home Manager can also manage your environment variables through

View File

@ -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;
};
};
}

View File

@ -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;
};
};
}

View File

@ -54,7 +54,7 @@ in
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true; # boot.plymouth.enable = true;
networking.hostName = deskCfg.hostName; # Define your hostname. networking.hostName = deskCfg.hostName; # Define your hostname.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.

View File

@ -38,6 +38,7 @@ in
settings = { settings = {
"browser.startup.blankWindow" = true; "browser.startup.blankWindow" = true;
"browser.startup.homepage" = "about:blank"; "browser.startup.homepage" = "about:blank";
"browser.newtabpage.enabled" = false;
"browser.search.region" = "US"; "browser.search.region" = "US";
"browser.search.isUS" = true; "browser.search.isUS" = true;
"distribution.searchplugins.defaultLocale" = "en-US"; "distribution.searchplugins.defaultLocale" = "en-US";

View File

@ -74,6 +74,8 @@
ripgrep ripgrep
tre-command tre-command
gtop gtop
# Normies
unzip
# #
# Photo / Video # Photo / Video

View File

@ -125,8 +125,12 @@
# Necessary for home-manager sway setup # Necessary for home-manager sway setup
security.polkit.enable = true; security.polkit.enable = true;
# Use amdgpu-pro drivers for davinci
# services.xserver.videoDrivers = [ "amdgpu-pro" ];
hardware.opengl = { hardware.opengl = {
# Mesa
enable = true; enable = true;
# Vulkan
driSupport = true; driSupport = true;
}; };
}; };

View File

@ -9,7 +9,7 @@
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];