1
Fork 0

Compare commits

...

5 Commits

Author SHA1 Message Date
Bauke 223e6977b8
Add file associations for i3 and rofi configs. 2024-02-24 13:24:14 +01:00
Bauke 719c3eb09f
Add i3, i3status and rofi configs. 2024-02-24 13:23:25 +01:00
Bauke b5b389df3e
Remove Noto fonts. 2024-02-24 12:55:04 +01:00
Bauke 3005bd5040
Switch to i3. 2024-02-24 12:54:47 +01:00
Bauke 7037a21517
Add more audio plugins. 2024-02-21 22:14:04 +01:00
9 changed files with 325 additions and 3 deletions

View File

@ -6,6 +6,7 @@
environment = {
systemPackages = with pkgs; [
aether-lv2
airwindows-lv2
android-studio
apngasm
ardour
@ -25,6 +26,7 @@
chromium
clang
conky
delayarchitect
delta
deno
dig
@ -126,6 +128,7 @@
vital
vscodium.fhs
watchexec
wolf-shaper
x42-plugins
xarchiver
xclip

View File

@ -41,13 +41,22 @@
usbmuxd.enable = true;
xserver = {
desktopManager.xfce.enable = true;
enable = true;
layout = "be";
videoDrivers = [ "nvidia" ];
xkbVariant = "";
desktopManager = {
xterm.enable = false;
xfce = {
enable = true;
enableXfwm = true;
noDesktop = true;
};
};
displayManager = {
defaultSession = "xfce+i3";
lightdm = {
enable = true;
extraSeatDefaults = ''
@ -55,6 +64,14 @@
'';
};
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
i3status
rofi
];
};
};
};
}

View File

@ -23,7 +23,6 @@
fonts = {
fontconfig = {
defaultFonts = {
emoji = [ "Noto Color Emoji" ];
monospace = [ "Hasklig" "Victor Mono" "DejaVu Sans Mono" ];
sansSerif = [ "Inter" "DejaVu Sans" ];
serif = [ "Inter" "DejaVu Sans" ];
@ -35,7 +34,6 @@
hasklig
inter
iosevka
noto-fonts
victor-mono
(nerdfonts.override { fonts = [ "Hasklig" ]; })
];

View File

@ -25,7 +25,10 @@
"extensions.ignoreRecommendations": true,
/* VS Code files settings. */
"files.associations": {
"**/i3/*": "i3",
"**/i3status/*": "i3",
"*.njk": "html",
"*.rasi": "plaintext",
"*.sql": "sql",
"*.yml": "yaml"
},

63
.config/i3/config Normal file
View File

@ -0,0 +1,63 @@
set $mod Mod4
font pango:Hasklig 10
# Run Nitrogen to restore the desktop wallpapers.
exec --no-startup-id nitrogen --restore
# Start the NetworkManager tray applet.
exec --no-startup-id nm-applet
# Use Mouse+$mod to drag floating windows.
floating_modifier $mod
# Disable moving the mouse to the container when switching workspaces.
mouse_warping none
# Define names for default workspaces.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Assign workspaces to monitors.
workspace $ws1 output HDMI-0
workspace $ws2 output HDMI-0
workspace $ws3 output HDMI-0
workspace $ws4 output HDMI-0
workspace $ws5 output HDMI-0
workspace $ws6 output HDMI-1
workspace $ws7 output HDMI-1
workspace $ws8 output HDMI-1
workspace $ws9 output HDMI-1
workspace $ws10 output HDMI-1
# Assign gaps to specific workspaces.
workspace $ws2 gaps inner 10
workspace $ws3 gaps inner 10
# Configuration for i3bar.
bar {
output primary # Only output to the primary display.
position bottom # Position at the bottom of the screen.
status_command i3status # Use i3status for the status contents.
tray_output primary # Show tray icons on the primary display.
}
# Assign clients to specific workspaces.
## To figure out the class name for a client, use xprop and click on the window.
## Example for Standard Notes: xprop | rg '^WM_CLASS'
## > WM_CLASS(STRING) = "standard notes", "Standard Notes"
## The first string is the instance and the second is the class.
assign [class="tauonmb"] $ws2
assign [class="Standard Notes"] $ws2
assign [class="Transmission-gtk"] $ws3
assign [class="KeePassXC"] $ws3
# Include the keybinds file.
include keybinds.conf

59
.config/i3/keybinds.conf Normal file
View File

@ -0,0 +1,59 @@
# i3 keybinds.
bindsym $mod+f fullscreen toggle
bindsym $mod+r mode "resize"
bindsym $mod+Shift+q kill
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you want to exit?' -B 'Yes' 'xfce4-session-logout'"
bindsym $mod+Shift+r restart
## Change focus.
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
## Move the focused window.
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
## Split container.
bindsym $mod+h split h
bindsym $mod+v split v
## Change container layout.
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
## Switch to workspace.
bindsym $mod+ampersand workspace number $ws1
bindsym $mod+eacute workspace number $ws2
bindsym $mod+quotedbl workspace number $ws3
bindsym $mod+apostrophe workspace number $ws4
bindsym $mod+parenleft workspace number $ws5
bindsym $mod+section workspace number $ws6
bindsym $mod+egrave workspace number $ws7
bindsym $mod+exclam workspace number $ws8
bindsym $mod+ccedilla workspace number $ws9
bindsym $mod+agrave workspace number $ws10
## Move focused container to workspace.
bindsym $mod+Shift+ampersand move container to workspace number $ws1
bindsym $mod+Shift+eacute move container to workspace number $ws2
bindsym $mod+Shift+quotedbl move container to workspace number $ws3
bindsym $mod+Shift+apostrophe move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+section move container to workspace number $ws6
bindsym $mod+Shift+egrave move container to workspace number $ws7
bindsym $mod+Shift+exclam move container to workspace number $ws8
bindsym $mod+Shift+ccedilla move container to workspace number $ws9
bindsym $mod+Shift+agrave move container to workspace number $ws10
## Keybinds inside resize mode.
mode "resize" {
bindsym Right resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Left resize grow width 10 px or 10 ppt
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Applications.
bindsym $mod+Return exec "kitty"
bindsym $mod+d exec "rofi -show drun"

18
.config/i3status/config Normal file
View File

@ -0,0 +1,18 @@
general {
colors = true
interval = 5
output_format = "i3bar"
}
tztime eu_brussels {
format = "%H:%M"
timezone = "Europe/Brussels"
}
tztime us_central {
format = "%H:%M"
timezone = "US/Central"
}
order += "tztime us_central"
order += "tztime eu_brussels"

17
.config/rofi/config.rasi Normal file
View File

@ -0,0 +1,17 @@
configuration {
font: "Hasklig 12";
modes: "drun,run";
terminal: "kitty";
filebrowser {
directories-first: true;
sorting-method: "name";
}
timeout {
action: "kb-cancel";
delay: 0;
}
}
@theme "theme.rasi"

144
.config/rofi/theme.rasi Normal file
View File

@ -0,0 +1,144 @@
* {
selected-normal-foreground: rgba ( 249, 249, 249, 100 % );
foreground: rgba ( 196, 203, 212, 100 % );
normal-foreground: @foreground;
alternate-normal-background: rgba ( 64, 69, 82, 59 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 204, 102, 102, 100 % );
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
active-foreground: rgba ( 101, 172, 255, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
alternate-active-background: rgba ( 75, 81, 96, 89 % );
background: rgba ( 45, 48, 59, 95 % );
alternate-normal-foreground: @foreground;
normal-background: @background;
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 64, 132, 214, 100 % );
border-color: rgba ( 124, 131, 137, 100 % );
spacing: 2;
separatorcolor: rgba ( 29, 31, 33, 100 % );
urgent-background: rgba ( 29, 31, 33, 17 % );
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 68, 145, 237, 100 % );
}
window {
background-color: @background;
border: 1;
padding: 5;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
textbox {
text-color: @foreground;
}
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
element {
border: 0;
padding: 1px ;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px ;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px ;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}