From be29cd21269c50c361810e7661e6edd987b54675 Mon Sep 17 00:00:00 2001 From: Hactarus Date: Wed, 21 Sep 2022 00:09:04 +0200 Subject: [PATCH 01/11] Add default user --- zsh/.zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsh/.zshrc b/zsh/.zshrc index 6d07c97..17b87ab 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -2,7 +2,7 @@ export PATH=$HOME/bins/toolbox:$HOME/.local/bin:/usr/local/bin:$HOME/.pyenv/bin: export ZSH=$HOME/.oh-my-zsh # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes ZSH_THEME="agnoster" - +DEFAULT_USER=$USER # CASE_SENSITIVE="true" # HYPHEN_INSENSITIVE="true" DISABLE_AUTO_UPDATE="true" From 9a20985744ae10e32f6a7302bf248709bd8d2682 Mon Sep 17 00:00:00 2001 From: Hactarus Date: Mon, 26 Sep 2022 23:12:12 +0200 Subject: [PATCH 02/11] update setup basedir --- setup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.sh b/setup.sh index a626b9c..8c662f0 100755 --- a/setup.sh +++ b/setup.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +cd "$( dirname "$0" )" + # make sure we have pulled in and updated any submodules git submodule init git submodule update From 00c314e16e13b3561f4401210767c9894bce0814 Mon Sep 17 00:00:00 2001 From: Hactarus Date: Mon, 23 Jan 2023 17:11:48 +0100 Subject: [PATCH 03/11] remove outdated info --- zsh/.zshrc | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/zsh/.zshrc b/zsh/.zshrc index 17b87ab..fe7b47f 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -323,7 +323,6 @@ status() { alias kbe='setxkbmap be' alias kus='setxkbmap us' -alias meteo='curl -4 http://wttr.in/Roubaix' alias dl='wget -r -k -T 5 -t 2 -U '\''Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0'\'' ' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' @@ -336,21 +335,6 @@ alias ll='ls -lah' alias osj='openstack -f json' alias osc='openstack console log show' alias oss='openstack server' -alias pass='tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs' -alias paste='pastebin -m -n Hactar' alias psa='ps auxwwwf' alias toph='top -cHd1' -alias vdir='vdir --color=auto' alias ip="ip --color" - -alias gw01='z3 gw01.infra.mps.gs.ovh.net' -alias hr-admin='z3 root@hr-admin.rungs.ovh' -alias public='z3 root@public01.infra.gs.ovh.net' -alias thot_cloudweb-robot-preprod='thot '\''wss://thot.ovh.com/tail/?tk=c89ec346-ce0d-4504-b69b-b3c216e91385'\''' -alias thot_reseller-robot-preprod='thot '\''wss://thot.ovh.com/tail/?tk=e4bdf746-d041-41d3-81a5-7e4629d3e507'\''' -alias m5='sm3 ovh@mozg-mutu5.ovh.ha.ovh.net' -alias melt='sm3 gs@mozg-meltingpot.ovh.ha.ovh.net' -alias mis='sm3 mozg-mis.ovh.ha.ovh.net' -alias logalert='sm3 --osh logovh --log alert | grep -E "MUTU|INTERNE|CLOUDWEB"' -alias evilssh='ssh sm3.ovh.net -- --osh selfForgetHostKey --host mis-reseller.lb.engine.ha.ovh.net --port 10666 && ssh -t sm3.ovh.net -- root@mis-reseller.lb.engine.ha.ovh.net -p 10666' -alias c='connect' From 1e1ce9b03b8b9be9e63ddd2ae2b0e4bac47af33a Mon Sep 17 00:00:00 2001 From: Hactarus Date: Mon, 23 Jan 2023 17:11:53 +0100 Subject: [PATCH 04/11] remove outdated info --- git/.gitconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git/.gitconfig b/git/.gitconfig index 3c32927..68e525c 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -15,7 +15,7 @@ defaultBranch = main [commit] - gpgsign = true + gpgsign = false [url "ssh://git@gitlab.com"] insteadOf = "https://www.gitlab.com" From 8f5e86c61015a04f485b7eb6372ca6a368545c3b Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Tue, 10 Oct 2023 22:47:54 +0200 Subject: [PATCH 05/11] add nix update gitconfig improve alacritty --- alacritty/.config/alacritty/alacritty.yml | 11 ++++++----- git/.gitconfig | 8 ++++---- nix/.config/nix/nix.conf | 1 + setup.sh | 1 + zsh/.zshrc | 6 ++++-- 5 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 nix/.config/nix/nix.conf diff --git a/alacritty/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml index 6c3e5a9..330d918 100644 --- a/alacritty/.config/alacritty/alacritty.yml +++ b/alacritty/.config/alacritty/alacritty.yml @@ -71,13 +71,13 @@ env: # Values for `decorations` (macOS only): # - transparent: Title bar, transparent background and title bar buttons # - buttonless: Title bar, transparent background and no title bar buttons - #decorations: none + decorations: none # Background opacity # # Window opacity as a floating point number from `0.0` to `1.0`. # The value `0.0` is completely transparent and `1.0` is opaque. - #opacity: 0.8 + opacity: "0.9" # Startup Mode (changes require restart) # @@ -88,13 +88,14 @@ env: # # Values for `startup_mode` (macOS only): # - SimpleFullscreen - #startup_mode: Windowed + startup_mode: Maximized # Window title #title: Alacritty # Allow terminal applications to change Alacritty's window title. #dynamic_title: true + # Window class (Linux/BSD only): #class: @@ -110,10 +111,10 @@ env: # the default theme variant. #decorations_theme_variant: None -#scrolling: +scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. - #history: 10000 + history: 100000 # Scrolling distance multiplier. #multiplier: 3 diff --git a/git/.gitconfig b/git/.gitconfig index 68e525c..4bc9fcb 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -1,8 +1,8 @@ [user] name = "Hactarus" - email = Hactarus@users.noreply.github.com - + email = "859868+Hactarus@users.noreply.github.com" + signingkey = E78C926AFF8835F1D31D63E0004635081CCE8F11 [alias] pushdev = !git push --set-upstream origin "`git branch --no-color 2>/dev/null | grep '*' | sed -e 's/\\* //'`:dev/hactarus/`git branch --no-color 2>/dev/null | grep '*' | sed -e 's/\\* //'`" @@ -18,10 +18,10 @@ gpgsign = false [url "ssh://git@gitlab.com"] - insteadOf = "https://www.gitlab.com" + insteadOf = "https://gitlab.com" [url "ssh://git@github.com"] - insteadOf = "https://www.github.com" + insteadOf = "https://github.com" [includeIf "gitdir:~/work"] path = .gitconfig-work diff --git a/nix/.config/nix/nix.conf b/nix/.config/nix/nix.conf new file mode 100644 index 0000000..c7d7291 --- /dev/null +++ b/nix/.config/nix/nix.conf @@ -0,0 +1 @@ +experimental-features = nix-command flakes diff --git a/setup.sh b/setup.sh index 8c662f0..f742831 100755 --- a/setup.sh +++ b/setup.sh @@ -12,6 +12,7 @@ base=( helix htop nano + nix puppet ssh terminfo diff --git a/zsh/.zshrc b/zsh/.zshrc index fe7b47f..baa7d44 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -162,6 +162,7 @@ man #n98-magerun nanoc #ng +#nix #nmap node #nomad @@ -186,7 +187,7 @@ postgres #powder #powify #profiles -#pyenv +pyenv pylint python #rails @@ -245,7 +246,7 @@ tmux #ubuntu #urltools #vagrant -#vault +vault #vi-mode #vim-interaction #virtualenv @@ -338,3 +339,4 @@ alias oss='openstack server' alias psa='ps auxwwwf' alias toph='top -cHd1' alias ip="ip --color" +VAULT_ADDR="https://vault.ood.ovh:8200" From 6fc9fc7506367df60088f710d85e4c5d022a569b Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Thu, 12 Oct 2023 00:23:52 +0200 Subject: [PATCH 06/11] init nix --- flake.nix | 27 +++++++++++++++++++++++++++ home.nix | 9 +++++++++ nix/.config/nix/registry.json | 4 ++++ 3 files changed, 40 insertions(+) create mode 100644 flake.nix create mode 100644 home.nix create mode 100644 nix/.config/nix/registry.json diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..dc6363a --- /dev/null +++ b/flake.nix @@ -0,0 +1,27 @@ +{ + description = "Dotfile manager"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + flake-utils.url = "github:numtide/flake-utils"; + }; + dotfiles = { + url = "git.ood.ovh:hactarus/dotfiles"; + flake = false; + }; + outputs = { self, nixpkgs, home-manager, ... }@inputs: { + homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration { + # The home-manager configuration. + modules = [ ./home.nix ]; + + extraSpecialArgs = { + inherit (inputs) dotfiles; + }; + }; + }; +} \ No newline at end of file diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..80390b6 --- /dev/null +++ b/home.nix @@ -0,0 +1,9 @@ +{ config, options, lib, pkgs, dotfiles, ... }: + +{ + xdg.configFile = { + doom.source = "${dotfiles}/emacs"; + wezterm.source = "${dotfiles}/wezterm"; + nvim.source = "${dotfiles}/nvim"; + }; +} \ No newline at end of file diff --git a/nix/.config/nix/registry.json b/nix/.config/nix/registry.json new file mode 100644 index 0000000..c117a14 --- /dev/null +++ b/nix/.config/nix/registry.json @@ -0,0 +1,4 @@ +{ + "flakes": null, + "version": 2 +} \ No newline at end of file From 77b0818d12d4d204a2ba0b5c8ea620970aebb0f9 Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Thu, 12 Oct 2023 00:24:46 +0200 Subject: [PATCH 07/11] update oh-my-zsh --- flake.nix | 2 +- zsh/.oh-my-zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index dc6363a..f496487 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,7 @@ url = "git.ood.ovh:hactarus/dotfiles"; flake = false; }; - outputs = { self, nixpkgs, home-manager, ... }@inputs: { + outputs = { self, nixpkgs, home-manager, ... } @inputs: { homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration { # The home-manager configuration. modules = [ ./home.nix ]; diff --git a/zsh/.oh-my-zsh b/zsh/.oh-my-zsh index 7dcabbe..6768906 160000 --- a/zsh/.oh-my-zsh +++ b/zsh/.oh-my-zsh @@ -1 +1 @@ -Subproject commit 7dcabbe6826073ef6069c8a4b6f9a943f00d2df0 +Subproject commit 6768906d07151140db901510b2c8b1ce2622f365 From ef2054d7b56442349ff80e8b7d245186e3306121 Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Thu, 12 Oct 2023 00:30:04 +0200 Subject: [PATCH 08/11] fixup --- home.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 80390b6..095889b 100644 --- a/home.nix +++ b/home.nix @@ -1,6 +1,11 @@ { config, options, lib, pkgs, dotfiles, ... }: -{ +{ + extraSpecialArgs = { + dotfiles = inputs.dotfiles.outPath; + # or... + # dotfiles = ./path/to/my/dotfiles; + }; xdg.configFile = { doom.source = "${dotfiles}/emacs"; wezterm.source = "${dotfiles}/wezterm"; From b3bf93ecaa12e4231fe553ce146c0aa8235568de Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Tue, 2 Jan 2024 20:20:31 +0100 Subject: [PATCH 09/11] add sway --- home.nix | 5 - setup.sh | 1 + sway/.config/sway/config | 255 ++++++++++++++++++++++++++++++++++++ sway/.config/sway/custom | 2 + sway/.config/sway/keyboard | 12 ++ sway/.config/sway/laptop | 7 + sway/.config/sway/media | 10 ++ sway/.config/sway/snapshots | 3 + 8 files changed, 290 insertions(+), 5 deletions(-) create mode 100644 sway/.config/sway/config create mode 100644 sway/.config/sway/custom create mode 100644 sway/.config/sway/keyboard create mode 100644 sway/.config/sway/laptop create mode 100644 sway/.config/sway/media create mode 100644 sway/.config/sway/snapshots diff --git a/home.nix b/home.nix index 095889b..aa5fae0 100644 --- a/home.nix +++ b/home.nix @@ -1,11 +1,6 @@ { config, options, lib, pkgs, dotfiles, ... }: { - extraSpecialArgs = { - dotfiles = inputs.dotfiles.outPath; - # or... - # dotfiles = ./path/to/my/dotfiles; - }; xdg.configFile = { doom.source = "${dotfiles}/emacs"; wezterm.source = "${dotfiles}/wezterm"; diff --git a/setup.sh b/setup.sh index f742831..ceea9e2 100755 --- a/setup.sh +++ b/setup.sh @@ -15,6 +15,7 @@ base=( nix puppet ssh + sway terminfo tmux vim diff --git a/sway/.config/sway/config b/sway/.config/sway/config new file mode 100644 index 0000000..6fcea95 --- /dev/null +++ b/sway/.config/sway/config @@ -0,0 +1,255 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +# Your preferred terminal emulator +set $term alacritty +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu dmenu_path | dmenu | xargs swaymsg exec -- + +output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill + +include ~/.config/sway/keyboard +include ~/.config/sway/laptop + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ +# before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Shift+q kill + + # Start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+r reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# + # Move your focus around +# bindsym $mod+$left focus left +# bindsym $mod+$down focus down +# bindsym $mod+$up focus up +# bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # Ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + position top + + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. + status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done + + colors { + statusline #ffffff + background #323232 + inactive_workspace #32323200 #32323200 #5c5c5c + } +} + + + +include /etc/sway/config.d/* + +for_window [app_id="galculator"] floating enable +for_window [window_type="dialog"] floating enable +for_window [window_role="dialog"] floating enable + +exec wl-paste -t text --watch clipman store --no-persist + +input type:keyboard xkb_capslock disabled +input type:keyboard xkb_numlock enabled + +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous +bindsym XF86Search exec bemenu-run + +input type:touchpad { + tap enabled + natural_scroll enabled +} + + +for_window [app_id="galculator"] floating enable +for_window [window_type="dialog"] floating enable +for_window [window_role="dialog"] floating enable +input type:keyboard xkb_numlock enabled + diff --git a/sway/.config/sway/custom b/sway/.config/sway/custom new file mode 100644 index 0000000..faf7aaf --- /dev/null +++ b/sway/.config/sway/custom @@ -0,0 +1,2 @@ +for_window [shell="xwayland"] title_format "[XWayland] %title" + diff --git a/sway/.config/sway/keyboard b/sway/.config/sway/keyboard new file mode 100644 index 0000000..e35a8e1 --- /dev/null +++ b/sway/.config/sway/keyboard @@ -0,0 +1,12 @@ + +# input * xkb_layout be + +input "5426:514:Razer_Razer_DeathStalker" { + xkb_layout be +} +input "5426:514:Razer_Razer_DeathStalker_Keyboard" { + xkb_layout be +} +input "1133:16522:Logitech_MX_Keys" { + xkb_layout be +} diff --git a/sway/.config/sway/laptop b/sway/.config/sway/laptop new file mode 100644 index 0000000..bd2f9b8 --- /dev/null +++ b/sway/.config/sway/laptop @@ -0,0 +1,7 @@ +set $laptop +bindswitch --reload --locked lid:on output $laptop disable +bindswitch --reload --locked lid:off output $laptop enable + +output eDP-1 resolution 1920x1080 position 2560,1080 bg ~/Documents/593255.jpg fill +output DP-2 resolution 1920x1080 position 2560,0 bg ~/Documents/593255.jpg fill +output DP-4 resolution 2560x1440 position 0,0 bg ~/Documents/865109.jpg fill diff --git a/sway/.config/sway/media b/sway/.config/sway/media new file mode 100644 index 0000000..eb11bd2 --- /dev/null +++ b/sway/.config/sway/media @@ -0,0 +1,10 @@ +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous +bindsym XF86Search exec bemenu-run diff --git a/sway/.config/sway/snapshots b/sway/.config/sway/snapshots new file mode 100644 index 0000000..fa1a5bc --- /dev/null +++ b/sway/.config/sway/snapshots @@ -0,0 +1,3 @@ +bindsym $mod+s exec grim - | wl-copy + + From 0b9b85c5e61ee44347048f73c1e3ca629cd75863 Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Tue, 2 Jan 2024 20:40:16 +0100 Subject: [PATCH 10/11] add i3 sonfig --- i3/.config/i3/config | 202 ++++++++++++++++++ i3/.config/i3/i3blocks.conf | 7 + i3/.config/i3status-rust/config.toml | 15 ++ .../i3status-rust/icons/material-nf.toml | 131 ++++++++++++ i3/.config/i3status-rust/themes/dracula.toml | 13 ++ setup.sh | 1 + 6 files changed, 369 insertions(+) create mode 100644 i3/.config/i3/config create mode 100644 i3/.config/i3/i3blocks.conf create mode 100644 i3/.config/i3status-rust/config.toml create mode 100644 i3/.config/i3status-rust/icons/material-nf.toml create mode 100644 i3/.config/i3status-rust/themes/dracula.toml diff --git a/i3/.config/i3/config b/i3/.config/i3/config new file mode 100644 index 0000000..7b5e851 --- /dev/null +++ b/i3/.config/i3/config @@ -0,0 +1,202 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monospace 8 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Start XDG autostart .desktop files using dex. See also +# https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 + +# The combination of xss-lock, nm-applet and pactl is a popular choice, so +# they are included here as an example. Modify as you see fit. + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# NetworkManager is the most popular way to manage wireless networks on Linux, +# and nm-applet is a desktop environment-independent system tray GUI for it. +exec --no-startup-id nm-applet + +# Use pactl to adjust volume in PulseAudio. +set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, +# or left-clicking anywhere into the window while holding the floating modifier. +tiling_drag modifier titlebar + +# start a terminal +bindsym $mod+Return exec /etc/profiles/per-user/hactario/bin/alacritty + +# kill focused window +bindsym $mod+Shift+a kill + +# start dmenu (a program launcher) +bindsym $mod+d exec --no-startup-id dmenu_run +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+m focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+m move right + +# alternatively, you can use the cursor keys: +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 in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+z layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+q focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +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" + +# 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 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym m resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left 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 Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) + +bar { + font DroidSansMNerdFont, FontAwesome 12 + position bottom + status_command i3status-rs ~/.config/i3status-rust/config.toml + colors { + separator #666666 + background #222222 + statusline #dddddd + focused_workspace #0088CC #0088CC #ffffff + active_workspace #333333 #333333 #ffffff + inactive_workspace #333333 #333333 #888888 + urgent_workspace #2f343a #900000 #ffffff + } +} \ No newline at end of file diff --git a/i3/.config/i3/i3blocks.conf b/i3/.config/i3/i3blocks.conf new file mode 100644 index 0000000..ae3843e --- /dev/null +++ b/i3/.config/i3/i3blocks.conf @@ -0,0 +1,7 @@ +[battery] +label=⚡ +command=/run/current-system/sw/libexec/i3blocks/battery +interval=10 +instance=1 + + diff --git a/i3/.config/i3status-rust/config.toml b/i3/.config/i3status-rust/config.toml new file mode 100644 index 0000000..0f106e2 --- /dev/null +++ b/i3/.config/i3status-rust/config.toml @@ -0,0 +1,15 @@ +[theme] +theme = "dracula" +[icons] +icons = "material-nf" + + +[icons.overrides] +bat = [ + "| |", + "|¼|", + "|½|", + "|¾|", + "|X|", +] +bat_charging = "|^|" \ No newline at end of file diff --git a/i3/.config/i3status-rust/icons/material-nf.toml b/i3/.config/i3status-rust/icons/material-nf.toml new file mode 100644 index 0000000..2626560 --- /dev/null +++ b/i3/.config/i3status-rust/icons/material-nf.toml @@ -0,0 +1,131 @@ +# Material from NerdFont +# https://www.nerdfonts.com/cheat-sheet +backlight = [ + "\ue38d", # nf-weather-moon_new + "\ue3d4", # nf-weather-moon_alt_waxing_gibbous_6 + "\ue3d3", # nf-weather-moon_alt_waxing_gibbous_5 + "\ue3d2", # nf-weather-moon_alt_waxing_gibbous_4 + "\ue3d1", # nf-weather-moon_alt_waxing_gibbous_3 + "\ue3d0", # nf-weather-moon_alt_waxing_gibbous_2 + "\ue3cf", # nf-weather-moon_alt_waxing_gibbous_1 + "\ue3ce", # nf-weather-moon_alt_first_quarter + "\ue3cd", # nf-weather-moon_alt_waxing_crescent_6 + "\ue3cc", # nf-weather-moon_alt_waxing_crescent_5 + "\ue3cb", # nf-weather-moon_alt_waxing_crescent_4 + "\ue3ca", # nf-weather-moon_alt_waxing_crescent_3 + "\ue3c9", # nf-weather-moon_alt_waxing_crescent_2 + "\ue3c8", # nf-weather-moon_alt_waxing_crescent_1 + "\ue39b", # nf-weather-moon_full +] +bat_charging = "\U000f0084" # nf-md-battery_charging +bat_not_available = "\U000f0091" # nf-md-battery_unknown +bat = [ + "\U000f007a", # nf-md-battery_10 + "\U000f007b", # nf-md-battery_20 + "\U000f007c", # nf-md-battery_30 + "\U000f007d", # nf-md-battery_40 + "\U000f007e", # nf-md-battery_50 + "\U000f007f", # nf-md-battery_60 + "\U000f0080", # nf-md-battery_70 + "\U000f0081", # nf-md-battery_80 + "\U000f0082", # nf-md-battery_90 + "\U000f0079", # nf-md-battery +] +bell = "\U000f009c" # nf-md-bell_outline +bell-slash = "\U000f009b" # nf-md-bell_off +bluetooth = "\U000f00af" # nf-md-bluetooth +calendar = "\U000f00ed" # nf-md-calendar +cogs = "\U000f0493" # nf-md-cog +cpu = [ + "\U000F0F86", # nf-md-speedometer_slow + "\U000F0F85", # nf-md-speedometer_medium + "\U000F04C5", # nf-md-speedometer +] +cpu_boost_on = "\U000f0521" # nf-md-toggle_switch +cpu_boost_off = "\U000f0a19" # nf-md-toggle_switch_off_outline +disk_drive = "\U000f02ca" # nf-md-harddisk +docker = "\uf308" # nf-linux-docker +github = "\U000f02a4" # nf-md-github +gpu = "\U000f0379" # nf-md-monitor +headphones = "\U000f02cb" # nf-md-headphones +joystick = "\U000f0297" # nf-md-gamepad_variant +keyboard = "\U000f030c" # nf-md-keyboard +mail = "\U000f01ee" # nf-md-email +memory_mem = "\U000f035b" # nf-md-memory +memory_swap = "\U000f02ca" # nf-md-harddisk +mouse = "\U000f037d" # nf-md-mouse +music = "\U000f075a" # nf-md-music +music_next = "\U000f04ad" # nf-md-skip_next +music_pause = "\U000f03e4" # nf-md-pause +music_play = "\U000f040a" # nf-md-play +music_prev = "\U000f04ae" # nf-md-skip_previous +net_bridge = "\U000f04aa" # nf-md-sitemap +net_down = "\U000f01da" # nf-md-download +net_loopback = "\U000f006f" # nf-md-backup_restore +net_modem = "\U000f03f2" # nf-md-phone +net_cellular = [ + "\U000F08FD", # nf-md-network_strength_off_outline + "\U000F08FE", # nf-md-network_strength_outline + "\U000F08F4", # nf-md-network_strength_1 + "\U000F08F6", # nf-md-network_strength_2 + "\U000F08F8", # nf-md-network_strength_3 + "\U000F08FA", # nf-md-network_strength_4 +] +net_up = "\U000f0552" # nf-md-upload +net_vpn = "\U000f0582" # nf-md-vpn +net_wired = "\U000f0200" # nf-md-ethernet +net_wireless = [ + "\U000F092F", # nf-md-wifi_strength_outline + "\U000F091F", # nf-md-wifi_strength_1 + "\U000F0922", # nf-md-wifi_strength_2 + "\U000F0925", # nf-md-wifi_strength_3 + "\U000F0928", # nf-md-wifi_strength_4 +] +notification = "\U000f009c" # nf-md-bell_outline +phone = "\U000f03f2" # nf-md-phone +phone_disconnected = "\U000f0658" # nf-md-phone_minus +ping = "\U000f051f" # nf-md-timer_sand +pomodoro = "\ue001" # nf-pom-pomodoro_done +pomodoro_break = "\U000f0176" # nf-md-coffee +pomodoro_paused = "\U000f03e4" # nf-md-pause +pomodoro_started = "\U000f040a" # nf-md-play +pomodoro_stopped = "\U000f04db" # nf-md-stop +resolution = "\U000f0293" # nf-md-fullscreen +tasks = "\U000f05c7" # nf-md-playlist_check +tea = "\U000f0d9e" # nf-md-tea +thermometer = [ + "\U000f10c3", # nf-md-thermometer_low + "\U000f050f", # nf-md-thermometer + "\U000f10c2", # nf-md-thermometer_high +] +time = "\U000f0150" # nf-md-clock_outline +toggle_off = "\U000f0a19" # nf-md-toggle_switch_off_outline +toggle_on = "\U000f0521" # nf-md-toggle_switch +unknown = "\U000f0186" # nf-md-comment_question_outline | TODO: Make default? +update = "\U000f03d5" # nf-md-package_up +uptime = "\U000f0153" # nf-md-clock_in +volume_muted = "\U000f075f" # nf-md-volume_mute +volume = [ + "\U000f057f", # nf-md-volume_low + "\U000f0580", # nf-md-volume_medium + "\U000f057e", # nf-md-volume_high +] +microphone_muted = "\U000f036d" # nf-md-microphone_off +microphone = [ + "\U000f036e", # nf-md-microphone_outline + "\U000f036c", # nf-md-microphone + "\U000f036c", # nf-md-microphone +] +weather_clouds = "\ue33d" # nf-weather-cloud +weather_clouds_night = "\ue37e" # nf-weather-night_alt_cloudy +weather_default = "\ue33d" # Cloud symbol as default +weather_fog = "\ue313" # nf-weather-fog +weather_fog_night = "\ue346" # nf-weather-night_fog +weather_moon = "\uf186" # nf-fa-moon_o +weather_rain = "\ue371" # nf-weather-raindrop +weather_rain_night = "\ue325" # nf-weather-night_alt_rain +weather_snow = "\ue36f" # nf-weather-snowflake_cold +weather_sun = "\ue30d" # nf-weather-day_sunny +weather_thunder = "\ue31d" # nf-weather-thunderstorm +weather_thunder_night = "\ue32a" # nf-weather-night_alt_thunderstorm +xrandr = "\U000f037a" # nf-md-monitor_multiple diff --git a/i3/.config/i3status-rust/themes/dracula.toml b/i3/.config/i3status-rust/themes/dracula.toml new file mode 100644 index 0000000..996fad9 --- /dev/null +++ b/i3/.config/i3status-rust/themes/dracula.toml @@ -0,0 +1,13 @@ +idle_bg = "#282a36" +idle_fg = "#f8f8f2" +info_bg = "#8be9fd" +info_fg = "#282a36" +good_bg = "#50fa7b" +good_fg = "#282a36" +warning_bg = "#f1fa8c" +warning_fg = "#282a36" +critical_bg = "#ff5555" +critical_fg = "#282a36" +separator = "\ue0b2" +separator_bg = "auto" +separator_fg = "auto" diff --git a/setup.sh b/setup.sh index ceea9e2..10b1392 100755 --- a/setup.sh +++ b/setup.sh @@ -15,6 +15,7 @@ base=( nix puppet ssh + i3 sway terminfo tmux From aa706ca78b1ccc1cbebc3a5be5f13dd3e93e2ac8 Mon Sep 17 00:00:00 2001 From: Hactarus <859868+Hactarus@users.noreply.github.com> Date: Wed, 3 Jan 2024 11:47:06 +0100 Subject: [PATCH 11/11] add dracula theme --- dracula/.dir_colors | 609 +++++++++++++++++++++++++++++++++++++ i3/.config/i3/config | 43 +-- i3/.config/i3status/config | 91 ++++++ setup.sh | 1 + 4 files changed, 726 insertions(+), 18 deletions(-) create mode 100644 dracula/.dir_colors create mode 100644 i3/.config/i3status/config diff --git a/dracula/.dir_colors b/dracula/.dir_colors new file mode 100644 index 0000000..1ce9538 --- /dev/null +++ b/dracula/.dir_colors @@ -0,0 +1,609 @@ +# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. + +# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the +# slackware version of dircolors) are recognized but ignored. + +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# Below, there should be one TERM entry for each termtype that is colorizable +# Term Section +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM screen.xterm-256color +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +## Documentation +# +# standard colors +# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# +# 256 color support +# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html) +# +# Text 256 color coding: +# 38;5;COLOR_NUMBER +# Background 256 color coding: +# 48;5;COLOR_NUMBER + +## Special files + +NORMAL 00;38;5;15 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 00;38;5;6 # directory 01;34 +LINK 00;38;5;2 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 48;5;0;38;5;3;01 # pipe +SOCK 48;5;0;38;5;3;01 # socket +DOOR 48;5;0;38;5;3;01 # door +BLK 48;5;0;38;5;15;01 # block device driver +CHR 48;5;0;38;5;15;01 # character device driver +ORPHAN 48;5;0;38;5;1 # symlink to nonexistent file, or non-stat'able file +SETUID 48;5;1;38;5;3 # file that is setuid (u+s) +SETGID 48;5;1;38;5;3 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 48;5;2;38;5;3 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 48;5;0;38;5;6 # dir that is other-writable (o+w) and not sticky +STICKY 48;5;6;38;5;3 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 00;38;5;2 + +## Archives or compressed (violet + bold for compression) +.tar 00;38;5;4 +.tgz 00;38;5;4 +.arj 00;38;5;4 +.taz 00;38;5;4 +.lzh 00;38;5;4 +.lzma 00;38;5;4 +.tlz 00;38;5;4 +.txz 00;38;5;4 +.zip 00;38;5;4 +.z 00;38;5;4 +.Z 00;38;5;4 +.dz 00;38;5;4 +.gz 00;38;5;4 +.lz 00;38;5;4 +.xz 00;38;5;4 +.bz2 00;38;5;4 +.bz 00;38;5;4 +.tbz 00;38;5;4 +.tbz2 00;38;5;4 +.tz 00;38;5;4 +.deb 00;38;5;4 +.rpm 00;38;5;4 +.jar 00;38;5;4 +.rar 00;38;5;4 +.ace 00;38;5;4 +.zoo 00;38;5;4 +.cpio 00;38;5;4 +.7z 00;38;5;4 +.rz 00;38;5;4 +.apk 00;38;5;4 +.gem 00;38;5;4 + +# Image formats (yellow) +.jpg 00;38;5;3 +.JPG 00;38;5;3 #stupid but needed +.jpeg 00;38;5;3 +.gif 00;38;5;3 +.bmp 00;38;5;3 +.pbm 00;38;5;3 +.pgm 00;38;5;3 +.ppm 00;38;5;3 +.tga 00;38;5;3 +.xbm 00;38;5;3 +.xpm 00;38;5;3 +.tif 00;38;5;3 +.tiff 00;38;5;3 +.png 00;38;5;3 +.PNG 00;38;5;3 +.svg 00;38;5;3 +.svgz 00;38;5;3 +.mng 00;38;5;3 +.pcx 00;38;5;3 +.dl 00;38;5;3 +.xcf 00;38;5;3 +.xwd 00;38;5;3 +.yuv 00;38;5;3 +.cgm 00;38;5;3 +.emf 00;38;5;3 +.eps 00;38;5;3 +.CR2 00;38;5;3 +.ico 00;38;5;3 + +# Files of special interest (base1) +.tex 00;38;5;7 +.rdf 00;38;5;7 +.owl 00;38;5;7 +.n3 00;38;5;7 +.ttl 00;38;5;7 +.nt 00;38;5;7 +.torrent 00;38;5;7 +.xml 00;38;5;7 +*Makefile 00;38;5;7 +*Rakefile 00;38;5;7 +*Dockerfile 00;38;5;7 +*build.xml 00;38;5;7 +*rc 00;38;5;7 +*1 00;38;5;7 +.nfo 00;38;5;7 +*README 00;38;5;7 +*README.txt 00;38;5;7 +*readme.txt 00;38;5;7 +.md 00;38;5;7 +*README.markdown 00;38;5;7 +.ini 00;38;5;7 +.yml 00;38;5;7 +.cfg 00;38;5;7 +.conf 00;38;5;7 +.h 00;38;5;7 +.hpp 00;38;5;7 +.c 00;38;5;7 +.cpp 00;38;5;7 +.cxx 00;38;5;7 +.cc 00;38;5;7 +.objc 00;38;5;7 +.sqlite 00;38;5;7 +.go 00;38;5;7 +.sql 00;38;5;7 +.csv 00;38;5;7 + +# "unimportant" files as logs and backups (base01) +.log 00;38;5;8 +.bak 00;38;5;8 +.aux 00;38;5;8 +.lof 00;38;5;8 +.lol 00;38;5;8 +.lot 00;38;5;8 +.out 00;38;5;8 +.toc 00;38;5;8 +.bbl 00;38;5;8 +.blg 00;38;5;8 +*~ 00;38;5;8 +*# 00;38;5;8 +.part 00;38;5;8 +.incomplete 00;38;5;8 +.swp 00;38;5;8 +.tmp 00;38;5;8 +.temp 00;38;5;8 +.o 00;38;5;8 +.pyc 00;38;5;8 +.class 00;38;5;8 +.cache 00;38;5;8 + +# Audio formats (orange) +.aac 00;38;5;1 +.au 00;38;5;1 +.flac 00;38;5;1 +.mid 00;38;5;1 +.midi 00;38;5;1 +.mka 00;38;5;1 +.mp3 00;38;5;1 +.mpc 00;38;5;1 +.ogg 00;38;5;1 +.opus 00;38;5;1 +.ra 00;38;5;1 +.wav 00;38;5;1 +.m4a 00;38;5;1 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axa 00;38;5;1 +.oga 00;38;5;1 +.spx 00;38;5;1 +.xspf 00;38;5;1 + +# Video formats (as audio + bold) +.mov 00;38;5;1 +.MOV 00;38;5;1 +.mpg 00;38;5;1 +.mpeg 00;38;5;1 +.m2v 00;38;5;1 +.mkv 00;38;5;1 +.ogm 00;38;5;1 +.mp4 00;38;5;1 +.m4v 00;38;5;1 +.mp4v 00;38;5;1 +.vob 00;38;5;1 +.qt 00;38;5;1 +.nuv 00;38;5;1 +.wmv 00;38;5;1 +.asf 00;38;5;1 +.rm 00;38;5;1 +.rmvb 00;38;5;1 +.flc 00;38;5;1 +.avi 00;38;5;1 +.fli 00;38;5;1 +.flv 00;38;5;1 +.gl 00;38;5;1 +.m2ts 00;38;5;1 +.divx 00;38;5;1 +.webm 00;38;5;1 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axv 00;38;5;1 +.anx 00;38;5;1 +.ogv 00;38;5;1 +.ogx 00;38;5;1# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. + +# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the +# slackware version of dircolors) are recognized but ignored. + +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# Below, there should be one TERM entry for each termtype that is colorizable +# Term Section +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM dvtm +TERM dvtm-256color +TERM eterm-color +TERM fbterm +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM konsole-256color +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode256 +TERM rxvt-unicode-256color +TERM screen +TERM screen-16color +TERM screen-16color-bce +TERM screen-16color-s +TERM screen-16color-bce-s +TERM screen-256color +TERM screen-256color-bce +TERM screen-256color-s +TERM screen-256color-bce-s +TERM screen-256color-italic +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM screen.xterm-256color +TERM st +TERM st-meta +TERM st-256color +TERM st-meta-256color +TERM tmux +TERM tmux-256color +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-256color-italic +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite + +## Documentation +# +# standard colors +# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +# +# +# 256 color support +# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html) +# +# Text 256 color coding: +# 38;5;COLOR_NUMBER +# Background 256 color coding: +# 48;5;COLOR_NUMBER + +## Special files + +NORMAL 00;38;5;15 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 00;38;5;6 # directory 01;34 +LINK 00;38;5;2 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 48;5;0;38;5;3;01 # pipe +SOCK 48;5;0;38;5;3;01 # socket +DOOR 48;5;0;38;5;3;01 # door +BLK 48;5;0;38;5;15;01 # block device driver +CHR 48;5;0;38;5;15;01 # character device driver +ORPHAN 48;5;0;38;5;1 # symlink to nonexistent file, or non-stat'able file +SETUID 48;5;1;38;5;3 # file that is setuid (u+s) +SETGID 48;5;1;38;5;3 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 48;5;2;38;5;3 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 48;5;0;38;5;6 # dir that is other-writable (o+w) and not sticky +STICKY 48;5;6;38;5;3 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 00;38;5;2 + +## Archives or compressed (violet + bold for compression) +.tar 00;38;5;4 +.tgz 00;38;5;4 +.arj 00;38;5;4 +.taz 00;38;5;4 +.lzh 00;38;5;4 +.lzma 00;38;5;4 +.tlz 00;38;5;4 +.txz 00;38;5;4 +.zip 00;38;5;4 +.z 00;38;5;4 +.Z 00;38;5;4 +.dz 00;38;5;4 +.gz 00;38;5;4 +.lz 00;38;5;4 +.xz 00;38;5;4 +.bz2 00;38;5;4 +.bz 00;38;5;4 +.tbz 00;38;5;4 +.tbz2 00;38;5;4 +.tz 00;38;5;4 +.deb 00;38;5;4 +.rpm 00;38;5;4 +.jar 00;38;5;4 +.rar 00;38;5;4 +.ace 00;38;5;4 +.zoo 00;38;5;4 +.cpio 00;38;5;4 +.7z 00;38;5;4 +.rz 00;38;5;4 +.apk 00;38;5;4 +.gem 00;38;5;4 + +# Image formats (yellow) +.jpg 00;38;5;3 +.JPG 00;38;5;3 #stupid but needed +.jpeg 00;38;5;3 +.gif 00;38;5;3 +.bmp 00;38;5;3 +.pbm 00;38;5;3 +.pgm 00;38;5;3 +.ppm 00;38;5;3 +.tga 00;38;5;3 +.xbm 00;38;5;3 +.xpm 00;38;5;3 +.tif 00;38;5;3 +.tiff 00;38;5;3 +.png 00;38;5;3 +.PNG 00;38;5;3 +.svg 00;38;5;3 +.svgz 00;38;5;3 +.mng 00;38;5;3 +.pcx 00;38;5;3 +.dl 00;38;5;3 +.xcf 00;38;5;3 +.xwd 00;38;5;3 +.yuv 00;38;5;3 +.cgm 00;38;5;3 +.emf 00;38;5;3 +.eps 00;38;5;3 +.CR2 00;38;5;3 +.ico 00;38;5;3 + +# Files of special interest (base1) +.tex 00;38;5;7 +.rdf 00;38;5;7 +.owl 00;38;5;7 +.n3 00;38;5;7 +.ttl 00;38;5;7 +.nt 00;38;5;7 +.torrent 00;38;5;7 +.xml 00;38;5;7 +*Makefile 00;38;5;7 +*Rakefile 00;38;5;7 +*Dockerfile 00;38;5;7 +*build.xml 00;38;5;7 +*rc 00;38;5;7 +*1 00;38;5;7 +.nfo 00;38;5;7 +*README 00;38;5;7 +*README.txt 00;38;5;7 +*readme.txt 00;38;5;7 +.md 00;38;5;7 +*README.markdown 00;38;5;7 +.ini 00;38;5;7 +.yml 00;38;5;7 +.cfg 00;38;5;7 +.conf 00;38;5;7 +.h 00;38;5;7 +.hpp 00;38;5;7 +.c 00;38;5;7 +.cpp 00;38;5;7 +.cxx 00;38;5;7 +.cc 00;38;5;7 +.objc 00;38;5;7 +.sqlite 00;38;5;7 +.go 00;38;5;7 +.sql 00;38;5;7 +.csv 00;38;5;7 + +# "unimportant" files as logs and backups (base01) +.log 00;38;5;8 +.bak 00;38;5;8 +.aux 00;38;5;8 +.lof 00;38;5;8 +.lol 00;38;5;8 +.lot 00;38;5;8 +.out 00;38;5;8 +.toc 00;38;5;8 +.bbl 00;38;5;8 +.blg 00;38;5;8 +*~ 00;38;5;8 +*# 00;38;5;8 +.part 00;38;5;8 +.incomplete 00;38;5;8 +.swp 00;38;5;8 +.tmp 00;38;5;8 +.temp 00;38;5;8 +.o 00;38;5;8 +.pyc 00;38;5;8 +.class 00;38;5;8 +.cache 00;38;5;8 + +# Audio formats (orange) +.aac 00;38;5;1 +.au 00;38;5;1 +.flac 00;38;5;1 +.mid 00;38;5;1 +.midi 00;38;5;1 +.mka 00;38;5;1 +.mp3 00;38;5;1 +.mpc 00;38;5;1 +.ogg 00;38;5;1 +.opus 00;38;5;1 +.ra 00;38;5;1 +.wav 00;38;5;1 +.m4a 00;38;5;1 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axa 00;38;5;1 +.oga 00;38;5;1 +.spx 00;38;5;1 +.xspf 00;38;5;1 + +# Video formats (as audio + bold) +.mov 00;38;5;1 +.MOV 00;38;5;1 +.mpg 00;38;5;1 +.mpeg 00;38;5;1 +.m2v 00;38;5;1 +.mkv 00;38;5;1 +.ogm 00;38;5;1 +.mp4 00;38;5;1 +.m4v 00;38;5;1 +.mp4v 00;38;5;1 +.vob 00;38;5;1 +.qt 00;38;5;1 +.nuv 00;38;5;1 +.wmv 00;38;5;1 +.asf 00;38;5;1 +.rm 00;38;5;1 +.rmvb 00;38;5;1 +.flc 00;38;5;1 +.avi 00;38;5;1 +.fli 00;38;5;1 +.flv 00;38;5;1 +.gl 00;38;5;1 +.m2ts 00;38;5;1 +.divx 00;38;5;1 +.webm 00;38;5;1 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.axv 00;38;5;1 +.anx 00;38;5;1 +.ogv 00;38;5;1 +.ogx 00;38;5;1 \ No newline at end of file diff --git a/i3/.config/i3/config b/i3/.config/i3/config index 7b5e851..612ae57 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -1,5 +1,5 @@ # This file has been auto-generated by i3-config-wizard(1). -# It will not be overwritten, so edit it as you like. +# It will 'FiraCode Nerd Font Mono'not be overwritten, so edit it as you like. # # Should you change your keyboard layout some time, delete # this file and re-run i3-config-wizard(1). @@ -13,7 +13,8 @@ set $mod Mod4 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -font pango:monospace 8 +#font pango:monospace 8 +font 'FiraCode Nerd Font Mono' 8 # This font is widely installed, provides lots of unicode glyphs, right-to-left # text rendering and scalability on retina/hidpi displays (thanks to pango). @@ -55,12 +56,13 @@ bindsym $mod+Return exec /etc/profiles/per-user/hactario/bin/alacritty bindsym $mod+Shift+a kill # start dmenu (a program launcher) -bindsym $mod+d exec --no-startup-id dmenu_run +# bindsym $mod+d exec --no-startup-id dmenu_run # A more modern dmenu replacement is rofi: # bindcode $mod+40 exec "rofi -modi drun,run -show drun" # There also is i3-dmenu-desktop which only displays applications shipping a # .desktop file. It is a wrapper around dmenu, so you need that installed. # bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop +bindsym $mod+d exec "dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'Hack-10.5' -p 'launch% '" # change focus bindsym $mod+j focus left @@ -183,20 +185,25 @@ mode "resize" { bindsym $mod+r mode "resize" -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) +client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4 +client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A +client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36 +client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555 +client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36 +client.background #F8F8F2 bar { - font DroidSansMNerdFont, FontAwesome 12 - position bottom - status_command i3status-rs ~/.config/i3status-rust/config.toml - colors { - separator #666666 - background #222222 - statusline #dddddd - focused_workspace #0088CC #0088CC #ffffff - active_workspace #333333 #333333 #ffffff - inactive_workspace #333333 #333333 #888888 - urgent_workspace #2f343a #900000 #ffffff - } -} \ No newline at end of file + font 'FiraCode Nerd Font Mono',FontAwesome 12 + position bottom + status_command i3status ~/.config/i3status-rust/config.toml + colors { + background #282A36 + statusline #F8F8F2 + separator #44475A + focused_workspace #44475A #44475A #F8F8F2 + active_workspace #282A36 #44475A #F8F8F2 + inactive_workspace #282A36 #282A36 #BFBFBF + urgent_workspace #FF5555 #FF5555 #F8F8F2 + binding_mode #FF5555 #FF5555 #F8F8F2 + } +} diff --git a/i3/.config/i3status/config b/i3/.config/i3status/config new file mode 100644 index 0000000..2e5f2ee --- /dev/null +++ b/i3/.config/i3status/config @@ -0,0 +1,91 @@ +general { + + output_format = "i3bar" + colors = true + color_good = "#50FA7B" + color_degraded = "#F1FA8C" + color_bad = "#FF5555" + interval = 5 +} + +order += "ipv6" +order += "disk /" +order += "run_watch DHCP" +order += "run_watch VPNC" +order += "path_exists VPN" +order += "wireless wlan0" +order += "ethernet eth0" +order += "battery 0" +order += "cpu_temperature 0" +order += "memory" +order += "load" +order += "tztime local" +order += "tztime berlin" + +wireless wlan0 { + format_up = "W: (%quality at %essid, %bitrate) %ip" + format_down = "W: down" +} + +ethernet eth0 { + format_up = "E: %ip (%speed)" + format_down = "E: down" +} + +battery 0 { + format = "%status %percentage %remaining %emptytime" + format_down = "No battery" + status_chr = "⚡ CHR" + status_bat = "🔋 BAT" + status_unk = "? UNK" + status_full = "☻ FULL" + path = "/sys/class/power_supply/BAT%d/uevent" + low_threshold = 10 +} + +run_watch DHCP { + pidfile = "/var/run/dhclient*.pid" +} + +run_watch VPNC { + # file containing the PID of a vpnc process + pidfile = "/var/run/vpnc/pid" +} + +path_exists VPN { + # path exists when a VPN tunnel launched by nmcli/nm-applet is active + path = "/proc/sys/net/ipv4/conf/tun0" +} + +tztime local { + format = "%Y-%m-%d %H:%M:%S" + hide_if_equals_localtime = true +} + +tztime berlin { + format = "%Y-%m-%d %H:%M:%S %Z" + timezone = "Europe/Berlin" +} + +load { + format = "%5min" +} + +cpu_temperature 0 { + format = "T: %degrees °C" + path = "/sys/devices/platform/coretemp.0/temp1_input" +} + +memory { + format = "%used" + threshold_degraded = "10%" + format_degraded = "MEMORY: %free" +} + +disk "/" { + format = "%free" +} + +read_file uptime { + path = "/proc/uptime" +} \ No newline at end of file diff --git a/setup.sh b/setup.sh index 10b1392..da22fa6 100755 --- a/setup.sh +++ b/setup.sh @@ -8,6 +8,7 @@ git submodule update # what directories should be installable by all users including the root user base=( + dracula git helix htop