add i3 config and start theming
parent
ef48062929
commit
53d6e2d75e
|
@ -3,6 +3,8 @@
|
|||
(require
|
||||
'[clojure.string :as str])
|
||||
|
||||
(def user (System/getenv "SUDO_USER"))
|
||||
|
||||
;;executes shell command but throws exception on error
|
||||
(defn- safe-sh [& commands]
|
||||
(as-> (apply shell/sh commands) $
|
||||
|
@ -11,3 +13,4 @@
|
|||
;;executes command as user calling this script with sudo
|
||||
(defn- safe-sh-as-user [& commands]
|
||||
(safe-sh "su" "-c" (str/join " " (map #(if (str/includes? % " ") (str "\"" % "\"") %) commands)) user))
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
gtk-icon-theme-name = "Mint-Y"
|
||||
gtk-theme-name = "Dracula-alt-style"
|
||||
gtk-font-name = "Fira Code Regular 10"
|
|
@ -0,0 +1,201 @@
|
|||
# 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
|
||||
|
||||
# set desktop wallpaper
|
||||
# exec --no-startup-id feh --bg-scale ~/Pictures/wallpaper.jpg
|
||||
|
||||
# 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 i3-sensible-terminal
|
||||
|
||||
# start emacs
|
||||
bindsym $mod+q exec emacsclient
|
||||
|
||||
# take screenshot
|
||||
bindsym Print exec flameshot gui
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+minus kill
|
||||
|
||||
# start rofi (a program launcher)
|
||||
bindsym $mod+a exec --no-startup-id rofi -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+semicolon 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+semicolon move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Mod1+Left move left
|
||||
bindsym $mod+Mod1+Down move down
|
||||
bindsym $mod+Mod1+Up move up
|
||||
bindsym $mod+Mod1+Right move right
|
||||
|
||||
# window splitting
|
||||
bindsym $mod+Tab split toggle
|
||||
#bindsym $mod+v split v
|
||||
#bindsym $mod+h split h
|
||||
|
||||
# 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+w 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+a 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+x workspace number $ws1
|
||||
bindsym $mod+c workspace number $ws2
|
||||
bindsym $mod+v workspace number $ws3
|
||||
bindsym $mod+s workspace number $ws4
|
||||
bindsym $mod+d workspace number $ws5
|
||||
bindsym $mod+f workspace number $ws6
|
||||
bindsym $mod+w workspace number $ws7
|
||||
bindsym $mod+e workspace number $ws8
|
||||
bindsym $mod+r workspace number $ws9
|
||||
bindsym $mod+z workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Mod1+x move container to workspace number $ws1
|
||||
bindsym $mod+Mod1+c move container to workspace number $ws2
|
||||
bindsym $mod+Mod1+v move container to workspace number $ws3
|
||||
bindsym $mod+Mod1+s move container to workspace number $ws4
|
||||
bindsym $mod+Mod1+d move container to workspace number $ws5
|
||||
bindsym $mod+Mod1+f move container to workspace number $ws6
|
||||
bindsym $mod+Mod1+w move container to workspace number $ws7
|
||||
bindsym $mod+Mod1+e move container to workspace number $ws8
|
||||
bindsym $mod+Mod1+r move container to workspace number $ws9
|
||||
bindsym $mod+Mod1+z move container to workspace number $ws1
|
||||
|
||||
# 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 semicolon 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 {
|
||||
status_command i3status
|
||||
}
|
||||
|
||||
# theming
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused #786396 #786396 #ffffff #786396 #534070
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
export USER="<username>"
|
||||
export HOME="/home/<username>"
|
||||
|
||||
groups="$(id -Gn "$USER" | tr ' ' ':')"
|
||||
svdir="$HOME/service"
|
||||
|
||||
exec chpst -u "$USER:$groups" runsvdir "$svdir"
|
Binary file not shown.
After Width: | Height: | Size: 2.4 MiB |
|
@ -2,9 +2,19 @@
|
|||
|
||||
(require
|
||||
'[babashka.fs :as fs]
|
||||
'[clojure.string :as str])
|
||||
'[clojure.string :as str]
|
||||
'[clojure.tools.cli :refer [parse-opts]])
|
||||
|
||||
(def parsed-params (parse-opts *command-line-args* {}))
|
||||
(def script-base-dir (first (:arguments parsed-params)))
|
||||
|
||||
(if (nil? script-base-dir)
|
||||
(throw (Exception. "error: script base dir needs to be provided as first arg!")))
|
||||
|
||||
(def user (System/getenv "SUDO_USER"))
|
||||
(if (nil? user)
|
||||
(throw (Exception. "error: script needs to be executed with sudo!")))
|
||||
|
||||
(def home (str "/home/" user))
|
||||
|
||||
;;todo: import from base.clj
|
||||
|
@ -20,14 +30,13 @@
|
|||
(println "setting up spacemacs..")
|
||||
(-> (fs/file (str home "/.emacs.d")) (fs/delete-tree))
|
||||
(safe-sh-as-user "git" "clone" "https://github.com/syl20bnr/spacemacs" (str home "/.emacs.d"))
|
||||
(safe-sh "chown" (str user ":" user) "-R" (str home "/.emacs.d"))
|
||||
(println "spacemacs set up"))
|
||||
|
||||
(defn- setup-android-scripts []
|
||||
(let [android-scripts-dir (str home "/Projects/android-scripts")]
|
||||
(fs/create-dirs android-scripts-dir)
|
||||
(safe-sh "git" "clone" "ssh://git@git.schro.fi:4242/schrofi/android-scripts.git" android-scripts-dir)
|
||||
(safe-sh "chown" (str user ":" user) "-R" android-scripts-dir)))
|
||||
(safe-sh "chown" "-R" (str user ":" user) android-scripts-dir)
|
||||
(safe-sh-as-user "git" "clone" "ssh://git@git.schro.fi:4242/schrofi/android-scripts.git" android-scripts-dir)))
|
||||
|
||||
(defn- setup-i3 []
|
||||
(println "setting up i3..")
|
||||
|
@ -41,7 +50,18 @@
|
|||
(safe-sh-as-user "gsettings" "set" "org.mate.interface" "document-font-name" "Fira Code Regular 10.0")
|
||||
(safe-sh-as-user "gsettings" "set" "org.mate.interface" "monospace-font-name" "Fira Code Regular 10.0")
|
||||
(safe-sh-as-user "gsettings" "set" "org.mate.Marco.general" "titlebar-font" "Fira Code Bold 10.0")
|
||||
(safe-sh-as-user "gsettings" "set" "org.mate.caja.desktop" "font" "Fira Code Regular 10.0"))
|
||||
(safe-sh-as-user "gsettings" "set" "org.mate.caja.desktop" "font" "Fira Code Regular 10.0")
|
||||
(safe-sh-as-user "ln" "-fs" (str script-base-dir "/configs/config-files/gtk-config") "~/.gtkrc-2.0")
|
||||
(safe-sh-as-user "ln" "-fs" (str script-base-dir "/configs/config-files/i3-config") "~/.config/i3/config")
|
||||
(println "linking wallpaper..")
|
||||
(safe-sh-as-user "ln" "-fs" (str script-base-dir "/configs/config-files/wallpaper.jpg") "~/Pictures/wallpaper.jpg")
|
||||
(safe-sh-as-user "gsettings" "set" "org.mate.background" "picture-filename" "~/Pictures/wallpaper.jpg"))
|
||||
|
||||
(defn- setup-system-services []
|
||||
(println "setting up system services..")
|
||||
;;todo
|
||||
;;(fs/file ())
|
||||
)
|
||||
|
||||
;;todo: fetch spacemacs
|
||||
;;todo: disable locking when closing lid on ac
|
||||
|
|
7
setup.sh
7
setup.sh
|
@ -1,7 +1,10 @@
|
|||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
# first install babashka which is required for the other scripts
|
||||
xbps-install -y babashka;
|
||||
|
||||
# gets the path of this script
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
./packages/packages.clj;
|
||||
./configs/configs.clj;
|
||||
./configs/configs.clj ${__dir};
|
||||
|
|
Loading…
Reference in New Issue