Merge branch 'aurora' into kardorf

This commit is contained in:
Julian Mutter 2022-09-12 09:37:03 +02:00
commit 244aaec67b
54 changed files with 3363 additions and 126 deletions

48
.dotter/global.toml Normal file
View File

@ -0,0 +1,48 @@
[helpers]
[default]
depends = []
[manjaro.files]
manjaro = "~"
[mc.files]
mc = "~/.config/mc"
[vim.files]
# type symbolic prevents interpreting '{{' as template
"vim/.vimrc" = { target = "~/.vimrc", type = "symbolic" }
[nvim.files]
"vim/init.vim" = { target = "~/.config/nvim/init.vim", type = "symbolic" }
[i3.files]
"i3/dunst" = "~/.config/dunst"
"i3/i3" = "~/.config/i3"
"i3/i3blocks" = { target = "~/.config/i3blocks", type = "symbolic" }
"i3/rofi" = "~/.config/rofi"
"i3/i3-scrot.conf" = "~/.config/i3-scrot.conf"
[emacs.files]
"emacs/doom" = "~/.config/doom"
"emacs/spacemacs/.spacemacs" = "~/.spacemacs"
"emacs/chemacs/.emacs-profiles.el" = "~/.emacs-profiles.el"
[alacritty.files]
alacritty = "~/.config/alacritty"
[starship.files]
starship = "~/.config/"
[zsh.files]
"zsh/.zshrc" = "~/.zshrc"
"zsh/custom-plugins" = "~/.oh-my-zsh/custom"
[polybar.files]
polybar = "~/.config/polybar"
[leftwm.files]
leftwm = "~/.config/leftwm"
[xmonad.files]
xmonad = "~/.xmonad"

2
.dotter/local.toml Normal file
View File

@ -0,0 +1,2 @@
# includes = []
packages = ["mc", "nvim", "emacs", "i3", "alacritty", "starship", "zsh", "polybar"]

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.dotter/cache.toml
.dotter/cache

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "current"]
path = leftwm/themes/current
url = https://github.com/lex148/forest

View File

@ -9,3 +9,9 @@ All neccessary dependencies I could think of are listed in the *dependencies* fi
cd .dotfiles
stow i3 mc emacs vim
```
## Alternative with [dotter](https://github.com/SuperCuber/dotter):
``` sh
cd .dotfiles
dotter deploy
```

862
alacritty/alacritty.yml Normal file
View File

@ -0,0 +1,862 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
items:
- colors:
name: 3024 (dark)
author: Chris Kempson
primary:
background: "#090300"
foreground: "#a5a2a2"
cursor:
text: "#090300"
cursor: "#a5a2a2"
normal:
black: "#090300"
red: "#db2d20"
green: "#01a252"
yellow: "#fded02"
blue: "#01a0e4"
magenta: "#a16a94"
cyan: "#b5e4f4"
white: "#a5a2a2"
bright:
black: "#5c5855"
red: "#db2d20"
green: "#01a252"
yellow: "#fded02"
blue: "#01a0e4"
magenta: "#a16a94"
cyan: "#b5e4f4"
white: "#f7f7f7"
- theme: 3024.dark
colors:
name: vscode (dark)
author: senpai-10
primary:
background: "#1E1E1E"
foreground: "#D4D4D4"
cursor:
text: "#1d1f21"
cursor: "#cccccc"
normal:
black: "#000000"
red: "#cd3131"
green: "#0dbc79"
yellow: "#e5e510"
blue: "#2472c8"
magenta: "#bc3fbc"
cyan: "#11a8cd"
white: "#e5e5e5"
bright:
black: "#666666"
red: "#f14c4c"
green: "#23d18b"
yellow: "#f5f543"
blue: "#3b8eea"
magenta: "#d670d6"
cyan: "#29b8db"
white: "#e5e5e5"
theme: vscode.dark
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: alacritty
#window:
# Window dimensions (changes require restart)
#
# Number of lines/columns (not pixels) in the terminal. The number of columns
# must be at least `2`, while using a value of `0` for columns and lines will
# fall back to the window manager's recommended size.
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
#padding:
# x: 0
# y: 0
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# 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: full
# 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: 1.0
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark`
# and `light`. Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Scrolling distance multiplier.
#multiplier: 3
# Font configuration
#font:
# Normal (roman) font face
#normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Regular
# Bold font face
#bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold
# Italic font face
#italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Italic
# Bold italic font face
#bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold Italic
# Point size
#size: 11.0
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the
# right, increasing `y` moves the glyph upward.
#glyph_offset:
# x: 0
# y: 0
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`.
#use_thin_strokes: true
# Use built-in font for box drawing characters.
#
# If `true`, Alacritty will use a custom built-in font for box drawing
# characters (Unicode points 2500 - 259f).
#
#builtin_box_drawing: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
# Colors (Tomorrow Night)
#colors:
# Default colors
#primary:
# background: '#1d1f21'
# foreground: '#c5c8c6'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used.
#dim_foreground: '#828482'
#bright_foreground: '#eaeaea'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#cursor:
# text: CellBackground
# cursor: CellForeground
# Vi mode cursor colors
#
# Colors for the cursor when the vi mode is active.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: '#ffffff'
# background: '#000000'
#bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Keyboard regex hints
#hints:
# First character in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#start:
# foreground: '#1d1f21'
# background: '#e9ff5e'
# All characters after the first one in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#end:
# foreground: '#e9ff5e'
# background: '#1d1f21'
# Line indicator
#
# Color used for the indicator displaying the position in history during
# search and vi mode.
#
# By default, these will use the opposing primary color.
#line_indicator:
# foreground: None
# background: None
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Normal colors
#normal:
# black: '#1d1f21'
# red: '#cc6666'
# green: '#b5bd68'
# yellow: '#f0c674'
# blue: '#81a2be'
# magenta: '#b294bb'
# cyan: '#8abeb7'
# white: '#c5c8c6'
# Bright colors
#bright:
# black: '#666666'
# red: '#d54e53'
# green: '#b9ca4a'
# yellow: '#e7c547'
# blue: '#7aa6da'
# magenta: '#c397d8'
# cyan: '#70c0b1'
# white: '#eaeaea'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '#131415'
# red: '#864343'
# green: '#777c44'
# yellow: '#9e824c'
# blue: '#556a7d'
# magenta: '#75617b'
# cyan: '#5b7d78'
# white: '#828482'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '#ff00ff' }`
#
#indexed_colors: []
# Transparent cell backgrounds
#
# Whether or not `window.opacity` applies to all cell backgrounds or only to
# the default background. When set to `true` all cells will be transparent
# regardless of their background color.
#transparent_background_colors: false
# Bell
#
# The bell is rung every time the BEL control character is received.
#bell:
# Visual Bell Animation
#
# Animation effect for flashing the screen when the visual bell is rung.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#animation: EaseOutExpo
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
# disable the visual bell animation.
#duration: 0
# Visual bell animation color.
#color: '#ffffff'
# Bell Command
#
# This program is executed whenever the bell is rung.
#
# When set to `command: None`, no command will be executed.
#
# Example:
# command:
# program: notify-send
# args: ["Hello, World!"]
#
#command: None
#selection:
# This string contains all characters that are used as separators for
# "semantic words" in Alacritty.
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
#cursor:
# Cursor style
#style:
# Cursor shape
#
# Values for `shape`:
# - ▇ Block
# - _ Underline
# - | Beam
#shape: Block
# Cursor blinking state
#
# Values for `blinking`:
# - Never: Prevent the cursor from ever blinking
# - Off: Disable blinking by default
# - On: Enable blinking by default
# - Always: Force the cursor to always blink
#blinking: Off
# Vi mode cursor style
#
# If the vi mode cursor style is `None` or not specified, it will fall back to
# the style of the active value of the normal cursor.
#
# See `cursor.style` for available options.
#vi_mode_style: None
# Cursor blinking interval in milliseconds.
#blink_interval: 750
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
#thickness: 0.15
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
# Offer IPC using `alacritty msg` (unix only)
#ipc_socket: true
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
# Regex hints
#
# Terminal hints can be used to find text in the visible part of the terminal
# and pipe it to other applications.
#hints:
# Keys used for the hint labels.
#alphabet: "jfkdls;ahgurieowpq"
# List with all available hints
#
# Each hint must have a `regex` and either an `action` or a `command` field.
# The fields `mouse`, `binding` and `post_processing` are optional.
#
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
#
# The `mouse.enabled` field controls if the hint should be underlined while
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
#
# If the `post_processing` field is set to `true`, heuristics will be used to
# shorten the match if there are characters likely not to be part of the hint
# (e.g. a trailing `.`). This is most useful for URIs.
#
# Values for `action`:
# - Copy
# Copy the hint's text to the clipboard.
# - Paste
# Paste the hint's text to the terminal or search.
# - Select
# Select the hint's text.
# - MoveViModeCursor
# Move the vi mode cursor to the beginning of the hint.
#enabled:
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
# command: xdg-open
# post_processing: true
# mouse:
# enabled: true
# mods: None
# binding:
# key: U
# mods: Control|Shift
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a
# requirement.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings for actions not exclusive to mouse mode)
#
# - Mouse exclusive actions:
#
# - ExpandSelection
# Expand the selection to the current mouse cursor location.
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Right, action: ExpandSelection }
# - { mouse: Right, mods: Control, action: ExpandSelection }
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - ToggleViMode
# - SearchForward
# Start searching toward the right of the search origin.
# - SearchBackward
# Start searching toward the left of the search origin.
# - Copy
# - Paste
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollHalfPageUp
# - ScrollHalfPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# Remove the terminal's scrollback history.
# - Hide
# Hide the Alacritty window.
# - Minimize
# Minimize the Alacritty window.
# - Quit
# Quit Alacritty.
# - ToggleFullscreen
# - SpawnNewInstance
# Spawn a new instance of Alacritty.
# - CreateNewWindow
# Create a new Alacritty window from the current process.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# - Vi mode exclusive actions:
#
# - Open
# Perform the action of the first matching hint under the vi mode cursor
# with `mouse.enabled` set to `true`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - Search mode exclusive actions:
# - SearchFocusNext
# Move the focus to the next search match.
# - SearchFocusPrevious
# Move the focus to the previous search match.
# - SearchConfirm
# - SearchCancel
# - SearchClear
# Reset the search regex.
# - SearchDeleteWord
# Delete the last word in the search regex.
# - SearchHistoryPrevious
# Go to the previous regex in the search history.
# - SearchHistoryNext
# Go to the next regex in the search history.
#
# - macOS exclusive actions:
# - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space.
#
# - Linux/BSD exclusive actions:
#
# - CopySelection
# Copy from the selection buffer.
# - PasteSelection
# Paste from the selection buffer.
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Search
# - Alt
# - Vi
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#
# If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in.
key_bindings:
- { key: Z, mods: Control, chars: "fzf-z \x0D" }
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Plus, mods: Control, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Plus, mods: Command, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false

View File

@ -5,6 +5,7 @@ firefox
i3exit
i3-scrot
i3-wm
i3blocks
libqalculate
nextcloud
pavucontrol

View File

@ -1,3 +0,0 @@
/home/julian/Nextcloud/studium/vorlesungen/SS21/luftundraumfahrtlabor/lrl-fragenkatalog.org
/home/julian/Nextcloud/studium/vorlesungen/SS21/borddatenverarbeitung/bdv-fragenkatalog.org
/home/julian/Nextcloud/studium/vorlesungen/SS21/raumfahrtbetrieb/rb-vorbereitung.org

View File

@ -0,0 +1,8 @@
(("default" . ((user-emacs-directory . "~/emacs/doom-emacs")))
("vanilla" . ((user-emacs-directory . "~/emacs/vanilla")))
("spacemacs" . ((user-emacs-directory . "~/emacs/spacemacs")))
)
;(env . (("DOOMDIR" . "~/emacs/doom-config"))))))
;("doom" . ((user-emacs-directory . "~/emacs/doom")))
;(doom-private-dir . "~/emacs/doom-config"))))
;)

View File

@ -1,8 +1,30 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
#+title: Doom Emacs Config
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
* Main
#+PROPERTY: header-args :results silent
** Help
#+begin_src emacs-lisp :tangle yes
;; Here are some additional functions/macros that could help you configure Doom:
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
#+end_src
** Overall config
#+begin_src emacs-lisp :tangle yes
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets.
@ -28,65 +50,85 @@
;; `load-theme' function. This is the default:
(setq doom-theme 'doom-one)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org")
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type 'relative)
#+end_src
;; Here are some additional functions/macros that could help you configure Doom:
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
#+begin_src emacs-lisp :tangle yes
;; Open external terminal
;; (map! :map doom-leader-open-map :desc "Open" "t" (cmd! (call-process-shell-command "terminal&" nil 0)))
(map! :leader :desc "Open external terminal" "o t" (cmd! (call-process-shell-command "xfce4-terminal&" nil 0)))
(map! :leader :desc "Open external terminal" "o t" (cmd! (call-process-shell-command "xfce4-terminal &" nil 0)))
;; Remap font scaling keybindings to make more sense
(map! :desc "Increase font size" :n "C-+" #'text-scale-increase)
(map! :desc "Decrease font size" :n "C--" #'text-scale-decrease)
(map! :desc "Reset font size" :n "C-=" #'doom/reset-font-size)
(map! :desc "Flycheck next error" :nv "g n" #'flycheck-next-error)
(map! :desc "Flycheck previous error" :nv "g N" #'flycheck-previous-error)
;; Org-mode custom keybindings
;; (map! :map org-mode-map :nvi "C-k" #'org-backward-element)
;; (map! :map org-mode-map :nvi "C-j" #'org-forward-element)
;; (map! :map org-mode-map :nvi "C-h" #'org-up-element)
;; (map! :map org-mode-map :nvi "C-l" #'org-down-element)
(map! :desc "Format and save" :nvi "C-s" #'fd-format-and-save)
(map! :leader "w 1" #'delete-other-windows)
(setq-default evil-escape-key-sequence "kj")
(defun fd-format-and-save()
(interactive)
(company-abort)
(evil-force-normal-state)
(+format/buffer)
(save-buffer))
#+end_src
** Org
#+begin_src emacs-lisp :tangle yes
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/Nextcloud/org"
org-roam-directory "~/Nextcloud/org-roam")
;; (setq org-agenda-files (list "~/org"))
;; (custom-set-variables
;; '(org-directory "~/org")
;; '(org-agenda-files (list org-directory)))
;; (add-to-list 'org-agenda-files "~/org/anothertest.org" 'append)
;; Adding my org-agenda files
(after! org
(setq org-agenda-files (expand-file-name "org-agenda-files" doom-private-dir)))
(setq org-export-allow-bind-keywords t)
;; (map! :nv "SPC r" "SPC n r")
(map! :map org-mode-map :nvi "C-k" #'org-backward-element)
(map! :map org-mode-map :nvi "C-j" #'org-forward-element)
(map! :map org-mode-map :nvi "C-h" #'org-up-element)
(map! :map org-mode-map :nvi "C-l" #'org-down-element)
#+end_src
** Spell Checking
#+begin_src emacs-lisp :tangle yes
;; Spell checking settings
;; TODO make toggling of spell checking ('SPC t s') use flyspell-mode in text modes and flyspell-prog-mode in programming modes (see hooks below)
;; TODO make toggling of spell checking ('SPC t s') use flyspell-mode in text modesm and flyspell-prog-mode in programming modes (see hooks below)
;; Removing hooks for automatic spell checking set here: https://github.com/hlissner/doom-emacs/blob/develop/modules/checkers/spell/config.el
(remove-hook! '(org-mode-hook
markdown-mode-hook
TeX-mode-hook
rst-mode-hook
mu4e-compose-mode-hook
message-mode-hook
git-commit-mode-hook)
#'flyspell-mode)
markdown-mode-hook
TeX-mode-hook
rst-mode-hook
mu4e-compose-mode-hook
message-mode-hook
git-commit-mode-hook)
#'flyspell-mode)
(remove-hook! '(yaml-mode-hook
conf-mode-hook
prog-mode-hook)
#'flyspell-prog-mode)
conf-mode-hook
prog-mode-hook)
#'flyspell-prog-mode)
(setq ispell-dictionary "english")
@ -99,6 +141,27 @@
(ispell-change-dictionary change)
(message "Dictionary switched from %s to %s" dic change)
))
#+end_src
** Flutter
#+begin_src emacs-lisp :tangle yes
(setq lsp-dart-flutter-sdk-dir "/home/julian/snap/flutter/common/flutter")
#+end_src
** Evil snipe
#+begin_src emacs-lisp :tangle yes
;; Make sniping simpler for german keyboard
(setq evil-snipe-scope 'visible)
(map! :map evil-snipe-override-mode-map :m "," #'evil-snipe-repeat)
(map! :map evil-snipe-override-mode-map :m ";" #'evil-snipe-repeat-reverse)
(map! :map evil-snipe-parent-transient-map "," #'evil-snipe-repeat)
(map! :map evil-snipe-parent-transient-map ";" #'evil-snipe-repeat-reverse)
#+end_src
** Matlab
#+begin_src emacs-lisp :tangle yes
;; (autoload 'matlab-mode "matlab" "Matlab Editing Mode" t)
;; (add-to-list
@ -106,17 +169,11 @@
;; '("\\.m$" . matlab-mode))
;; (setq matlab-indent-function t)
;; (setq matlab-shell-command "/urs/local/bin/matlab")
#+end_src
;; (setq org-agenda-files (list "~/org"))
;; (custom-set-variables
;; '(org-directory "~/org")
;; '(org-agenda-files (list org-directory)))
;; (add-to-list 'org-agenda-files "~/org/anothertest.org" 'append)
;; Adding my org-agenda files
(after! org
(setq org-agenda-files (expand-file-name "org-agenda-files" doom-private-dir)))
** Features
*** Toggle word case
#+begin_src elisp :tangle yes
(map! :desc "Toggle case of word" :nv "g C" #'toggle-word-case)
@ -140,3 +197,47 @@
((string= "Lu" first-char-prop) ; Upper case
(downcase-region $p1 (+ $p1 1)))
(t (message "Word does not start with a alphabetic character"))))))
#+end_src
*** Tetris
#+begin_src emacs-lisp :tangle yes
(add-hook 'tetris-mode-hook #'turn-off-evil-mode)
#+end_src
** Company
#+begin_src emacs-lisp :tangle yes
;; Add company-quickhelp
(company-quickhelp-mode)
(map! :map company-active-map "TAB" nil)
(map! :map company-active-map "<tab>" nil)
#+end_src
** More
#+begin_src emacs-lisp :tangle yes
(defun fd-pretty-print-dirty-json()
(interactive)
(let ((new-buffer-contents (shell-command-to-string (format "echo '%s' | newliner" (buffer-string)))))
(erase-buffer)
(insert new-buffer-contents)
(evil-indent (buffer-end -1) (buffer-end +1)))
)
#+end_src
** Python
#+begin_src emacs-lisp :tangle yes
;; Python settings
;; (add-hook 'python-mode-hook (lambda ()
;; (setq flycheck-checker 'python-pylint)))
;; (add-hook 'pyhon-mode-local-vars-hook
;; (lambda ()
;; (when (flycheck-may-enable-checker 'lsp)
;; (flycheck-select-checker 'python-pylint))))
#+end_src
** Haskell
#+begin_src emacs-lisp :tangle yes
(set-docsets! 'haskell-mode "Haskell")
#+end_src

View File

@ -4,8 +4,8 @@
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a "Module Index" link where you'll find
;; a comprehensive list of Doom's modules and what flags they support.
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
@ -15,6 +15,7 @@
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
@ -23,15 +24,15 @@
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
ivy ; a search engine for love and life
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
;;(emoji +unicode) ; 🙂
;;fill-column ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
;;indent-guides ; highlighted indent columns
@ -39,11 +40,11 @@
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
neotree ; a project drawer, like NERDTree for vim
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
;; treemacs ; a project drawer, like neotree but cooler
;;treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
@ -85,6 +86,7 @@
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
docker
@ -92,10 +94,10 @@
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp
(lookup +docsets) ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
;;pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
@ -120,6 +122,7 @@
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
@ -127,17 +130,19 @@
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(haskell +dante) ; a language that's lazier than I am
;;(graphql +lsp) ; Give queries a REST
(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
;;json ; At least it ain't XML
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
;; julia ; a better, faster MATLAB
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
@ -171,7 +176,7 @@
;;zig ; C, but simpler
:email
;;(mu4e +gmail)
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
@ -184,5 +189,5 @@
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
literate
(default +bindings +smartparens))

View File

@ -0,0 +1 @@
/home/julian/Nextcloud/org

View File

@ -9,6 +9,11 @@
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
(package! company-quickhelp)
(unpin! org-roam)
(package! org-roam-ui)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/raxod502/straight.el#the-recipe-format

644
emacs/spacemacs/.spacemacs Normal file
View File

@ -0,0 +1,644 @@
;; -*- mode: emacs-lisp; lexical-binding: t -*-
;; This file is loaded by Spacemacs at startup.
;; It must be stored in your home directory.
(defun dotspacemacs/layers ()
"Layer configuration:
This function should only modify configuration layer settings."
(setq-default
;; Base distribution to use. This is a layer contained in the directory
;; `+distribution'. For now available distributions are `spacemacs-base'
;; or `spacemacs'. (default 'spacemacs)
dotspacemacs-distribution 'spacemacs
;; Lazy installation of layers (i.e. layers are installed only when a file
;; with a supported type is opened). Possible values are `all', `unused'
;; and `nil'. `unused' will lazy install only unused layers (i.e. layers
;; not listed in variable `dotspacemacs-configuration-layers'), `all' will
;; lazy install any layer that support lazy installation even the layers
;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy
;; installation feature and you have to explicitly list a layer in the
;; variable `dotspacemacs-configuration-layers' to install it.
;; (default 'unused)
dotspacemacs-enable-lazy-installation 'unused
;; If non-nil then Spacemacs will ask for confirmation before installing
;; a layer lazily. (default t)
dotspacemacs-ask-for-lazy-installation t
;; List of additional paths where to look for configuration layers.
;; Paths must have a trailing slash (i.e. `~/.mycontribs/')
dotspacemacs-configuration-layer-path '()
;; List of configuration layers to load.
dotspacemacs-configuration-layers
'(csv
python
;; ----------------------------------------------------------------
;; Example of useful layers you may want to use right away.
;; Uncomment some layer names and press `SPC f e R' (Vim style) or
;; `M-m f e R' (Emacs style) to install them.
;; ----------------------------------------------------------------
;; (dart :variables dart-server-sdk-path "<flutter-path>/bin/cache/dart-sdk/")
(csharp :variables
csharp-backend nil)
rust
tabs
auto-completion
(auto-completion :variables
auto-completion-return-key-behavior 'complete
auto-completion-tab-key-behavior 'cycle
auto-completion-complete-with-key-sequence nil
auto-completion-complete-with-key-sequence-delay 0.1
auto-completion-minimum-prefix-length 2
auto-completion-idle-delay 0.2
auto-completion-private-snippets-directory nil
auto-completion-enable-snippets-in-popup nil
auto-completion-enable-help-tooltip 't
auto-completion-use-company-box nil
auto-completion-enable-sort-by-usage nil)
;; better-defaults
emacs-lisp
(git :variables
git-magit-status-fullscreen t)
helm
(lsp :variables
lsp-lens-enable t
lsp-ui-doc-enable t)
;; markdown
multiple-cursors
org
;; (shell :variables
;; shell-default-height 30
;; shell-default-position 'bottom)
(spell-checking :variables
spell-checking-enable-by-default nil)
syntax-checking
;; version-control
treemacs
json
(evil-snipe :variables evil-snipe-enable-alternate-f-and-t-behaviors t)
)
;; List of additional packages that will be installed without being wrapped
;; in a layer (generally the packages are installed only and should still be
;; loaded using load/require/use-package in the user-config section below in
;; this file). If you need some configuration for these packages, then
;; consider creating a layer. You can also put the configuration in
;; `dotspacemacs/user-config'. To use a local version of a package, use the
;; `:location' property: '(your-package :location "~/path/to/your-package/")
;; Also include the dependencies as they will not be resolved automatically.
dotspacemacs-additional-packages '(format-all)
;; A list of packages that cannot be updated.
dotspacemacs-frozen-packages '()
;; A list of packages that will not be installed and loaded.
dotspacemacs-excluded-packages '()
;; Defines the behaviour of Spacemacs when installing packages.
;; Possible values are `used-only', `used-but-keep-unused' and `all'.
;; `used-only' installs only explicitly used packages and deletes any unused
;; packages as well as their unused dependencies. `used-but-keep-unused'
;; installs only the used packages but won't delete unused ones. `all'
;; installs *all* packages supported by Spacemacs and never uninstalls them.
;; (default is `used-only')
dotspacemacs-install-packages 'used-only))
(defun dotspacemacs/init ()
"Initialization:
This function is called at the very beginning of Spacemacs startup,
before layer configuration.
It should only modify the values of Spacemacs settings."
;; This setq-default sexp is an exhaustive list of all the supported
;; spacemacs settings.
(setq-default
;; If non-nil then enable support for the portable dumper. You'll need to
;; compile Emacs 27 from source following the instructions in file
;; EXPERIMENTAL.org at to root of the git repository.
;;
;; WARNING: pdumper does not work with Native Compilation, so it's disabled
;; regardless of the following setting when native compilation is in effect.
;;
;; (default nil)
dotspacemacs-enable-emacs-pdumper nil
;; Name of executable file pointing to emacs 27+. This executable must be
;; in your PATH.
;; (default "emacs")
dotspacemacs-emacs-pdumper-executable-file "emacs"
;; Name of the Spacemacs dump file. This is the file will be created by the
;; portable dumper in the cache directory under dumps sub-directory.
;; To load it when starting Emacs add the parameter `--dump-file'
;; when invoking Emacs 27.1 executable on the command line, for instance:
;; ./emacs --dump-file=$HOME/.emacs.d/.cache/dumps/spacemacs-27.1.pdmp
;; (default (format "spacemacs-%s.pdmp" emacs-version))
dotspacemacs-emacs-dumper-dump-file (format "spacemacs-%s.pdmp" emacs-version)
;; If non-nil ELPA repositories are contacted via HTTPS whenever it's
;; possible. Set it to nil if you have no way to use HTTPS in your
;; environment, otherwise it is strongly recommended to let it set to t.
;; This variable has no effect if Emacs is launched with the parameter
;; `--insecure' which forces the value of this variable to nil.
;; (default t)
dotspacemacs-elpa-https t
;; Maximum allowed time in seconds to contact an ELPA repository.
;; (default 5)
dotspacemacs-elpa-timeout 5
;; Set `gc-cons-threshold' and `gc-cons-percentage' when startup finishes.
;; This is an advanced option and should not be changed unless you suspect
;; performance issues due to garbage collection operations.
;; (default '(100000000 0.1))
dotspacemacs-gc-cons '(100000000 0.1)
;; Set `read-process-output-max' when startup finishes.
;; This defines how much data is read from a foreign process.
;; Setting this >= 1 MB should increase performance for lsp servers
;; in emacs 27.
;; (default (* 1024 1024))
dotspacemacs-read-process-output-max (* 1024 1024)
;; If non-nil then Spacelpa repository is the primary source to install
;; a locked version of packages. If nil then Spacemacs will install the
;; latest version of packages from MELPA. Spacelpa is currently in
;; experimental state please use only for testing purposes.
;; (default nil)
dotspacemacs-use-spacelpa nil
;; If non-nil then verify the signature for downloaded Spacelpa archives.
;; (default t)
dotspacemacs-verify-spacelpa-archives t
;; If non-nil then spacemacs will check for updates at startup
;; when the current branch is not `develop'. Note that checking for
;; new versions works via git commands, thus it calls GitHub services
;; whenever you start Emacs. (default nil)
dotspacemacs-check-for-update nil
;; If non-nil, a form that evaluates to a package directory. For example, to
;; use different package directories for different Emacs versions, set this
;; to `emacs-version'. (default 'emacs-version)
dotspacemacs-elpa-subdirectory 'emacs-version
;; One of `vim', `emacs' or `hybrid'.
;; `hybrid' is like `vim' except that `insert state' is replaced by the
;; `hybrid state' with `emacs' key bindings. The value can also be a list
;; with `:variables' keyword (similar to layers). Check the editing styles
;; section of the documentation for details on available variables.
;; (default 'vim)
dotspacemacs-editing-style 'vim
;; If non-nil show the version string in the Spacemacs buffer. It will
;; appear as (spacemacs version)@(emacs version)
;; (default t)
dotspacemacs-startup-buffer-show-version t
;; Specify the startup banner. Default value is `official', it displays
;; the official spacemacs logo. An integer value is the index of text
;; banner, `random' chooses a random text banner in `core/banners'
;; directory. A string value must be a path to an image format supported
;; by your Emacs build.
;; If the value is nil then no banner is displayed. (default 'official)
dotspacemacs-startup-banner 'official
;; List of items to show in startup buffer or an association list of
;; the form `(list-type . list-size)`. If nil then it is disabled.
;; Possible values for list-type are:
;; `recents' `recents-by-project' `bookmarks' `projects' `agenda' `todos'.
;; List sizes may be nil, in which case
;; `spacemacs-buffer-startup-lists-length' takes effect.
;; The exceptional case is `recents-by-project', where list-type must be a
;; pair of numbers, e.g. `(recents-by-project . (7 . 5))', where the first
;; number is the project limit and the second the limit on the recent files
;; within a project.
dotspacemacs-startup-lists '((recents . 5)
(projects . 7))
;; True if the home buffer should respond to resize events. (default t)
dotspacemacs-startup-buffer-responsive t
;; Show numbers before the startup list lines. (default t)
dotspacemacs-show-startup-list-numbers t
;; The minimum delay in seconds between number key presses. (default 0.4)
dotspacemacs-startup-buffer-multi-digit-delay 0.4
;; If non-nil, show file icons for entries and headings on Spacemacs home buffer.
;; This has no effect in terminal or if "all-the-icons" package or the font
;; is not installed. (default nil)
dotspacemacs-startup-buffer-show-icons nil
;; Default major mode for a new empty buffer. Possible values are mode
;; names such as `text-mode'; and `nil' to use Fundamental mode.
;; (default `text-mode')
dotspacemacs-new-empty-buffer-major-mode 'text-mode
;; Default major mode of the scratch buffer (default `text-mode')
dotspacemacs-scratch-mode 'text-mode
;; If non-nil, *scratch* buffer will be persistent. Things you write down in
;; *scratch* buffer will be saved and restored automatically.
dotspacemacs-scratch-buffer-persistent nil
;; If non-nil, `kill-buffer' on *scratch* buffer
;; will bury it instead of killing.
dotspacemacs-scratch-buffer-unkillable nil
;; Initial message in the scratch buffer, such as "Welcome to Spacemacs!"
;; (default nil)
dotspacemacs-initial-scratch-message nil
;; List of themes, the first of the list is loaded when spacemacs starts.
;; Press `SPC T n' to cycle to the next theme in the list (works great
;; with 2 themes variants, one dark and one light)
dotspacemacs-themes '(spacemacs-dark
spacemacs-light)
;; Set the theme for the Spaceline. Supported themes are `spacemacs',
;; `all-the-icons', `custom', `doom', `vim-powerline' and `vanilla'. The
;; first three are spaceline themes. `doom' is the doom-emacs mode-line.
;; `vanilla' is default Emacs mode-line. `custom' is a user defined themes,
;; refer to the DOCUMENTATION.org for more info on how to create your own
;; spaceline theme. Value can be a symbol or list with additional properties.
;; (default '(spacemacs :separator wave :separator-scale 1.5))
dotspacemacs-mode-line-theme '(spacemacs :separator wave :separator-scale 1.5)
;; If non-nil the cursor color matches the state color in GUI Emacs.
;; (default t)
dotspacemacs-colorize-cursor-according-to-state t
;; Default font or prioritized list of fonts. The `:size' can be specified as
;; a non-negative integer (pixel size), or a floating-point (point size).
;; Point size is recommended, because it's device independent. (default 10.0)
dotspacemacs-default-font '("Source Code Pro"
:size 11.0
:weight normal
:width normal)
;; The leader key (default "SPC")
dotspacemacs-leader-key "SPC"
;; The key used for Emacs commands `M-x' (after pressing on the leader key).
;; (default "SPC")
dotspacemacs-emacs-command-key "SPC"
;; The key used for Vim Ex commands (default ":")
dotspacemacs-ex-command-key ":"
;; The leader key accessible in `emacs state' and `insert state'
;; (default "M-m")
dotspacemacs-emacs-leader-key "M-m"
;; Major mode leader key is a shortcut key which is the equivalent of
;; pressing `<leader> m`. Set it to `nil` to disable it. (default ",")
dotspacemacs-major-mode-leader-key ","
;; Major mode leader key accessible in `emacs state' and `insert state'.
;; (default "C-M-m" for terminal mode, "<M-return>" for GUI mode).
;; Thus M-RET should work as leader key in both GUI and terminal modes.
;; C-M-m also should work in terminal mode, but not in GUI mode.
dotspacemacs-major-mode-emacs-leader-key (if window-system "<M-return>" "C-M-m")
;; These variables control whether separate commands are bound in the GUI to
;; the key pairs `C-i', `TAB' and `C-m', `RET'.
;; Setting it to a non-nil value, allows for separate commands under `C-i'
;; and TAB or `C-m' and `RET'.
;; In the terminal, these pairs are generally indistinguishable, so this only
;; works in the GUI. (default nil)
dotspacemacs-distinguish-gui-tab nil
;; Name of the default layout (default "Default")
dotspacemacs-default-layout-name "Default"
;; If non-nil the default layout name is displayed in the mode-line.
;; (default nil)
dotspacemacs-display-default-layout nil
;; If non-nil then the last auto saved layouts are resumed automatically upon
;; start. (default nil)
dotspacemacs-auto-resume-layouts nil
;; If non-nil, auto-generate layout name when creating new layouts. Only has
;; effect when using the "jump to layout by number" commands. (default nil)
dotspacemacs-auto-generate-layout-names nil
;; Size (in MB) above which spacemacs will prompt to open the large file
;; literally to avoid performance issues. Opening a file literally means that
;; no major mode or minor modes are active. (default is 1)
dotspacemacs-large-file-size 1
;; Location where to auto-save files. Possible values are `original' to
;; auto-save the file in-place, `cache' to auto-save the file to another
;; file stored in the cache directory and `nil' to disable auto-saving.
;; (default 'cache)
dotspacemacs-auto-save-file-location 'cache
;; Maximum number of rollback slots to keep in the cache. (default 5)
dotspacemacs-max-rollback-slots 5
;; If non-nil, the paste transient-state is enabled. While enabled, after you
;; paste something, pressing `C-j' and `C-k' several times cycles through the
;; elements in the `kill-ring'. (default nil)
dotspacemacs-enable-paste-transient-state nil
;; Which-key delay in seconds. The which-key buffer is the popup listing
;; the commands bound to the current keystroke sequence. (default 0.4)
dotspacemacs-which-key-delay 0.4
;; Which-key frame position. Possible values are `right', `bottom' and
;; `right-then-bottom'. right-then-bottom tries to display the frame to the
;; right; if there is insufficient space it displays it at the bottom.
;; (default 'bottom)
dotspacemacs-which-key-position 'bottom
;; Control where `switch-to-buffer' displays the buffer. If nil,
;; `switch-to-buffer' displays the buffer in the current window even if
;; another same-purpose window is available. If non-nil, `switch-to-buffer'
;; displays the buffer in a same-purpose window even if the buffer can be
;; displayed in the current window. (default nil)
dotspacemacs-switch-to-buffer-prefers-purpose nil
;; If non-nil a progress bar is displayed when spacemacs is loading. This
;; may increase the boot time on some systems and emacs builds, set it to
;; nil to boost the loading time. (default t)
dotspacemacs-loading-progress-bar t
;; If non-nil the frame is fullscreen when Emacs starts up. (default nil)
;; (Emacs 24.4+ only)
dotspacemacs-fullscreen-at-startup nil
;; If non-nil `spacemacs/toggle-fullscreen' will not use native fullscreen.
;; Use to disable fullscreen animations in OSX. (default nil)
dotspacemacs-fullscreen-use-non-native nil
;; If non-nil the frame is maximized when Emacs starts up.
;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil.
;; (default nil) (Emacs 24.4+ only)
dotspacemacs-maximized-at-startup nil
;; If non-nil the frame is undecorated when Emacs starts up. Combine this
;; variable with `dotspacemacs-maximized-at-startup' in OSX to obtain
;; borderless fullscreen. (default nil)
dotspacemacs-undecorated-at-startup nil
;; A value from the range (0..100), in increasing opacity, which describes
;; the transparency level of a frame when it's active or selected.
;; Transparency can be toggled through `toggle-transparency'. (default 90)
dotspacemacs-active-transparency 90
;; A value from the range (0..100), in increasing opacity, which describes
;; the transparency level of a frame when it's inactive or deselected.
;; Transparency can be toggled through `toggle-transparency'. (default 90)
dotspacemacs-inactive-transparency 90
;; If non-nil show the titles of transient states. (default t)
dotspacemacs-show-transient-state-title t
;; If non-nil show the color guide hint for transient state keys. (default t)
dotspacemacs-show-transient-state-color-guide t
;; If non-nil unicode symbols are displayed in the mode line.
;; If you use Emacs as a daemon and wants unicode characters only in GUI set
;; the value to quoted `display-graphic-p'. (default t)
dotspacemacs-mode-line-unicode-symbols t
;; If non-nil smooth scrolling (native-scrolling) is enabled. Smooth
;; scrolling overrides the default behavior of Emacs which recenters point
;; when it reaches the top or bottom of the screen. (default t)
dotspacemacs-smooth-scrolling t
;; Show the scroll bar while scrolling. The auto hide time can be configured
;; by setting this variable to a number. (default t)
dotspacemacs-scroll-bar-while-scrolling t
;; Control line numbers activation.
;; If set to `t', `relative' or `visual' then line numbers are enabled in all
;; `prog-mode' and `text-mode' derivatives. If set to `relative', line
;; numbers are relative. If set to `visual', line numbers are also relative,
;; but only visual lines are counted. For example, folded lines will not be
;; counted and wrapped lines are counted as multiple lines.
;; This variable can also be set to a property list for finer control:
;; '(:relative nil
;; :visual nil
;; :disabled-for-modes dired-mode
;; doc-view-mode
;; markdown-mode
;; org-mode
;; pdf-view-mode
;; text-mode
;; :size-limit-kb 1000)
;; When used in a plist, `visual' takes precedence over `relative'.
;; (default nil)
dotspacemacs-line-numbers nil
;; Code folding method. Possible values are `evil', `origami' and `vimish'.
;; (default 'evil)
dotspacemacs-folding-method 'evil
;; If non-nil and `dotspacemacs-activate-smartparens-mode' is also non-nil,
;; `smartparens-strict-mode' will be enabled in programming modes.
;; (default nil)
dotspacemacs-smartparens-strict-mode nil
;; If non-nil smartparens-mode will be enabled in programming modes.
;; (default t)
dotspacemacs-activate-smartparens-mode t
;; If non-nil pressing the closing parenthesis `)' key in insert mode passes
;; over any automatically added closing parenthesis, bracket, quote, etc...
;; This can be temporary disabled by pressing `C-q' before `)'. (default nil)
dotspacemacs-smart-closing-parenthesis nil
;; Select a scope to highlight delimiters. Possible values are `any',
;; `current', `all' or `nil'. Default is `all' (highlight any scope and
;; emphasis the current one). (default 'all)
dotspacemacs-highlight-delimiters 'all
;; If non-nil, start an Emacs server if one is not already running.
;; (default nil)
dotspacemacs-enable-server nil
;; Set the emacs server socket location.
;; If nil, uses whatever the Emacs default is, otherwise a directory path
;; like \"~/.emacs.d/server\". It has no effect if
;; `dotspacemacs-enable-server' is nil.
;; (default nil)
dotspacemacs-server-socket-dir nil
;; If non-nil, advise quit functions to keep server open when quitting.
;; (default nil)
dotspacemacs-persistent-server nil
;; List of search tool executable names. Spacemacs uses the first installed
;; tool of the list. Supported tools are `rg', `ag', `pt', `ack' and `grep'.
;; (default '("rg" "ag" "pt" "ack" "grep"))
dotspacemacs-search-tools '("rg" "ag" "pt" "ack" "grep")
;; Format specification for setting the frame title.
;; %a - the `abbreviated-file-name', or `buffer-name'
;; %t - `projectile-project-name'
;; %I - `invocation-name'
;; %S - `system-name'
;; %U - contents of $USER
;; %b - buffer name
;; %f - visited file name
;; %F - frame name
;; %s - process status
;; %p - percent of buffer above top of window, or Top, Bot or All
;; %P - percent of buffer above bottom of window, perhaps plus Top, or Bot or All
;; %m - mode name
;; %n - Narrow if appropriate
;; %z - mnemonics of buffer, terminal, and keyboard coding systems
;; %Z - like %z, but including the end-of-line format
;; If nil then Spacemacs uses default `frame-title-format' to avoid
;; performance issues, instead of calculating the frame title by
;; `spacemacs/title-prepare' all the time.
;; (default "%I@%S")
dotspacemacs-frame-title-format "%I@%S"
;; Format specification for setting the icon title format
;; (default nil - same as frame-title-format)
dotspacemacs-icon-title-format nil
;; Show trailing whitespace (default t)
dotspacemacs-show-trailing-whitespace t
;; Delete whitespace while saving buffer. Possible values are `all'
;; to aggressively delete empty line and long sequences of whitespace,
;; `trailing' to delete only the whitespace at end of lines, `changed' to
;; delete only whitespace for changed lines or `nil' to disable cleanup.
;; (default nil)
dotspacemacs-whitespace-cleanup nil
;; If non-nil activate `clean-aindent-mode' which tries to correct
;; virtual indentation of simple modes. This can interfere with mode specific
;; indent handling like has been reported for `go-mode'.
;; If it does deactivate it here.
;; (default t)
dotspacemacs-use-clean-aindent-mode t
;; Accept SPC as y for prompts if non-nil. (default nil)
dotspacemacs-use-SPC-as-y nil
;; If non-nil shift your number row to match the entered keyboard layout
;; (only in insert state). Currently supported keyboard layouts are:
;; `qwerty-us', `qwertz-de' and `querty-ca-fr'.
;; New layouts can be added in `spacemacs-editing' layer.
;; (default nil)
dotspacemacs-swap-number-row nil
;; Either nil or a number of seconds. If non-nil zone out after the specified
;; number of seconds. (default nil)
dotspacemacs-zone-out-when-idle nil
;; Run `spacemacs/prettify-org-buffer' when
;; visiting README.org files of Spacemacs.
;; (default nil)
dotspacemacs-pretty-docs nil
;; If nil the home buffer shows the full path of agenda items
;; and todos. If non-nil only the file name is shown.
dotspacemacs-home-shorten-agenda-source nil
;; If non-nil then byte-compile some of Spacemacs files.
dotspacemacs-byte-compile nil))
(defun dotspacemacs/user-env ()
"Environment variables setup.
This function defines the environment variables for your Emacs session. By
default it calls `spacemacs/load-spacemacs-env' which loads the environment
variables declared in `~/.spacemacs.env' or `~/.spacemacs.d/.spacemacs.env'.
See the header of this file for more information."
(spacemacs/load-spacemacs-env)
)
(defun dotspacemacs/user-init ()
"Initialization for user code:
This function is called immediately after `dotspacemacs/init', before layer
configuration.
It is mostly for variables that should be set before packages are loaded.
If you are unsure, try setting them in `dotspacemacs/user-config' first."
)
(defun dotspacemacs/user-load ()
"Library to load while dumping.
This function is called only while dumping Spacemacs configuration. You can
`require' or `load' the libraries of your choice that will be included in the
dump."
)
(defun dotspacemacs/user-config ()
"Configuration for user code:
This function is called at the very end of Spacemacs startup, after layer
configuration.
Put your configuration code here, except for variables that should be set
before packages are loaded."
(setq rust-format-on-save t)
;; (global-set-key (kbd "M-1") 'evil-jump-forward)
;; (setq centaur-tabs-show-count t)
(define-key winum-keymap (kbd "M-1") 'tab-bar-switch-to-tab)
;; (evil-define-key '(normal) nil (kbd "C-i") 'evil-jump-forward)
(define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward)
(evil-define-key* '(normal insert visual) 'global (kbd "C-s") 'escape-and-save)
(evil-define-key* '(normal visual) 'global (kbd "gD") 'lsp-find-references)
(global-set-key (kbd "C--") 'spacemacs/scale-down-font)
(global-set-key (kbd "C-+") 'spacemacs/scale-up-font)
(global-set-key (kbd "C-=") 'spacemacs/reset-font-size)
(spacemacs/set-leader-keys "." 'lazy-helm/spacemacs/helm-find-files)
(spacemacs/set-leader-keys ":" 'helm-projectile-find-file)
(spacemacs/declare-prefix "o" "open external")
(spacemacs/set-leader-keys "ot" 'open-external-terminal)
(spacemacs/set-leader-keys "gg" 'magit-status)
(spacemacs/set-leader-keys "ee" 'flycheck-explain-error-at-point)
;; (spacemacs/set-leader-keys "br" '(revert-buffer nil nil))
(setq evil-escape-key-sequence "kj")
(defun open-external-terminal ()
"Open external terminal"
(interactive)
(call-process-shell-command "alacritty&" nil 0))
(defun escape-and-save()
"Evil escape and then save buffer"
(interactive)
(evil-escape)
(condition-case nil
(format-all-buffer)
(error nil))
(save-buffer))
)
;; Do not write anything past this comment. This is where Emacs will
;; auto-generate custom variable definitions.
(defun dotspacemacs/emacs-custom-settings ()
"Emacs custom settings.
This is an auto-generated function, do not modify its content directly, use
Emacs customize menu instead.
This function is called at the very end of Spacemacs initialization."
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(evil-want-Y-yank-to-eol nil)
'(org-babel-load-languages '((csharp . t) (emacs-lisp)))
'(package-selected-packages
'(csv-mode yapfify sphinx-doc pytest pyenv-mode pydoc py-isort poetry pippel pipenv pyvenv pip-requirements nose lsp-python-ms lsp-pyright live-py-mode importmagic epc ctable concurrent deferred helm-pydoc helm-cscope xcscope cython-mode company-anaconda blacken anaconda-mode pythonic evil-snipe omnisharp csharp-mode web-beautify prettier-js json-reformat json-navigator hierarchy json-mode json-snatcher format-all language-id inheritenv company-quickhelp stickyfunc-enhance srefactor yasnippet-snippets treemacs-magit smeargle orgit-forge orgit org-rich-yank org-projectile org-category-capture org-present org-pomodoro alert log4e gntp org-mime org-download org-contrib org-cliplink org lsp-ui lsp-origami origami htmlize helm-org-rifle helm-lsp helm-git-grep helm-company helm-c-yasnippet gnuplot gitignore-templates git-timemachine git-modes git-messenger git-link fuzzy forge yaml magit ghub closql emacsql-sqlite emacsql treepy magit-section git-commit with-editor transient flyspell-correct-helm flyspell-correct flycheck-pos-tip evil-org centaur-tabs auto-yasnippet yasnippet auto-dictionary ac-ispell auto-complete toml-mode ron-mode racer pos-tip rust-mode helm-gtags ggtags flycheck-rust dap-mode lsp-treemacs bui lsp-mode counsel-gtags counsel swiper ivy company cargo markdown-mode ws-butler writeroom-mode winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package undo-tree treemacs-projectile treemacs-persp treemacs-icons-dired treemacs-evil toc-org symon symbol-overlay string-inflection string-edit spaceline-all-the-icons restart-emacs request rainbow-delimiters quickrun popwin pcre2el password-generator paradox overseer org-superstar open-junk-file nameless multi-line macrostep lorem-ipsum link-hint inspector info+ indent-guide hybrid-mode hungry-delete hl-todo highlight-parentheses highlight-numbers highlight-indentation hide-comnt helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-org helm-mode-manager helm-make helm-ls-git helm-flx helm-descbinds helm-ag google-translate golden-ratio font-lock+ flycheck-package flycheck-elsa flx-ido fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-textobj-line evil-terminal-cursor-changer evil-surround evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-ediff evil-easymotion evil-collection evil-cleverparens evil-args evil-anzu eval-sexp-fu emr elisp-slime-nav elisp-def editorconfig dumb-jump drag-stuff dotenv-mode dired-quick-sort diminish devdocs define-word column-enforce-mode clean-aindent-mode centered-cursor-mode auto-highlight-symbol auto-compile aggressive-indent ace-link ace-jump-helm-line)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(highlight-parentheses-highlight ((nil (:weight ultra-bold))) t))
)

View File

@ -11,21 +11,18 @@
set $mod Mod4
set $scripts ~/.config/i3/scripts
set $lock "i3lock --ignore-empty-password --color=000000"
# 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 12
# Font for window titles
font pango:FuraCode Nerd Font 12
# 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 12
# 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
# xss-lock grabs a logind suspend inhibit lock and will use $lock 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
exec --no-startup-id xss-lock --transfer-sleep-lock -- $lock --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.
@ -43,7 +40,8 @@ bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOU
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec xfce4-terminal
# bindsym $mod+Return exec xfce4-terminal
bindsym $mod+Return exec alacritty
# kill focused window
bindsym $mod+Shift+q kill
@ -55,6 +53,7 @@ bindsym Mod1+F4 kill
# start dmenu (a program launcher)
bindsym $mod+d exec rofi -show run #dmenu_recency -i
# bindsym $mod exec rofi -show run #dmenu_recency -i
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
@ -73,30 +72,28 @@ bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+h exec i3l move left
bindsym $mod+Shift+j exec i3l move down
bindsym $mod+Shift+k exec i3l move up
bindsym $mod+Shift+l exec i3l 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
bindsym $mod+Shift+Left exec i3l move left
bindsym $mod+Shift+Down exec i3l move down
bindsym $mod+Shift+Up exec i3l move up
bindsym $mod+Shift+Right exec i3l move right
# split in horizontal orientation
bindsym $mod+Shift+v split h
# split in vertical orientation
bindsym $mod+v split v
# split in horizontal / vertical orientation
# bindsym $mod+Shift+v split h
# 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+Shift+w layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# bindsym $mod+Shift+w layout stacking
# bindsym $mod+w layout tabbed
# bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
@ -105,11 +102,14 @@ bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# The middle button over a titlebar kills the window
bindsym --release button2 kill
# 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"
@ -123,6 +123,17 @@ set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
set $i3l vstack to workspace $ws1
set $i3l vstack to workspace $ws2
set $i3l vstack to workspace $ws3
set $i3l vstack to workspace $ws4
set $i3l vstack to workspace $ws5
set $i3l vstack to workspace $ws6
set $i3l vstack to workspace $ws7
set $i3l vstack to workspace $ws8
set $i3l vstack to workspace $ws9
set $i3l vstack to workspace $ws10
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
@ -210,17 +221,17 @@ bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3blocks
tray_output $monitor_left
position top
i3bar_command i3bar --transparency
}
#bar {
# status_command i3blocks
# position bottom
# i3bar_command i3bar --transparency
# bindsym button3 exec --no-startup-id jgmenu_run
#}
set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id i3lock, mode "default"
bindsym l exec --no-startup-id $lock, mode "default"
bindsym e exec --no-startup-id i3exit logout, mode "default"
bindsym r exec --no-startup-id i3exit reboot, mode "default"
bindsym s exec --no-startup-id i3exit shutdown, mode "default"
@ -255,22 +266,65 @@ mode "$mode_screenshot_clipboard" {
}
bindsym $mod+Print mode "$mode_screenshot_clipboard"
bindsym $mod+Ctrl+Right move workspace to output right
bindsym $mod+Ctrl+Left move workspace to output right
set $mode_choose_layout Layout (h) vstack-left, (l) vstack-right, (k) hstack-top, (j) hstack-bottom, (c) 2columns
mode "$mode_choose_layout" {
bindsym h exec i3l vstack 0.5 right, mode "default"
bindsym l exec i3l vstack 0.5 left, mode "default"
bindsym j exec i3l hstack 0.5 up, mode "default"
bindsym k exec i3l hstack 0.5 down, mode "default"
bindsym c exec i3l 2columns left, mode "default"
bindsym $mod+c exec xfce4-terminal --role floating --hide-scrollbar --title Calculator -e qalc
bindsym $mod+p exec xwacomcalibrate
bindsym $mod+t exec thunar
bindsym $mod+m exec xfce4-terminal -x mc
# back to normal: Escape
bindsym Escape mode "default"
}
bindsym $mod+G mode "$mode_choose_layout"
bindsym $mod+Ctrl+h exec i3l vstack 0.5 right, mode "default"
bindsym $mod+Ctrl+l exec i3l vstack 0.5 left, mode "default"
bindsym $mod+Ctrl+j exec i3l hstack 0.5 up, mode "default"
bindsym $mod+Ctrl+k exec i3l hstack 0.5 down, mode "default"
bindsym $mod+Ctrl+Left exec i3l vstack 0.5 right, mode "default"
bindsym $mod+Ctrl+Right exec i3l vstack 0.5 left, mode "default"
bindsym $mod+Ctrl+Down exec i3l hstack 0.5 up, mode "default"
bindsym $mod+Ctrl+Up exec i3l hstack 0.5 down, mode "default"
#bindsym $mod+Ctrl+Right move workspace to output right
#bindsym $mod+Ctrl+Left move workspace to output right
#bindsym $mod+c exec xfce4-terminal --role floating --hide-scrollbar --title Calculator -e qalc
bindsym $mod+c exec qalculate-gtk
# bindsym $mod+p exec xwacomcalibrate
# bindsym $mod+t exec thunar
bindsym $mod+t exec krusader
#bindsym $mod+m exec xfce4-terminal -x mc
bindsym $mod+Shift+c exec $scripts/jupyter-calculator
bindsym $mod+b exec firefox
bindsym $mod+s exec pavucontrol
#bindsym $mod+s exec pavucontrol
bindsym $mod+u exec pamac-manager
bindsym $mod+p [con_mark="i3l::previous"] focus
bindsym $mod+m [con_mark="i3l:[^:]+:main" workspace="__focused__"] focus
# bindsym $mod+Shift+m [con_mark="i3l:[^:]+:main" workspace="__focused__"] focus; exec i3l swap container with mark "i3l::previous"
#exec $scripts/i3l-swap-master
# bindsym $mod+Shift+m exec i3l [con_mark="i3l:[^:]+:main" workspace="__focused__"] swap container with mark "i3l::current"
# bindsym $mod+Shift+m exec i3l swap container with mark "__focused__:main"
# read 1 character and mark the current window with this character
# bindsym $mod+m exec i3-input -F 'mark %s' -l 1 -P 'Mark: '
# read 1 character and go to the window with the character
# bindsym $mod+Shift+m exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Goto: '
workspace_auto_back_and_forth yes
default_border pixel
# default_border pixel
default_border normal
default_floating_border normal
hide_edge_borders smart
show_marks no
focus_on_window_activation smart
assign [class="firefox" title="Mozilla Firefox$"] workspace $ws1
assign [class="TelegramDesktop"] workspace $ws9
@ -280,22 +334,25 @@ assign [class="Element"] workspace $ws9
assign [class="Thunderbird"] workspace $ws10
assign [class="zoom"] workspace $ws5
for_window [class="firefox"] focus
for_window [class="firefox" urgent="latest"] focus
#for_window [class="Thunderbird"] focus
for_window [class="TelegramDesktop"] no_focus
for_window [class="Rocket.Chat"] no_focus
for_window [class="Element"] no_focus
#for_window [class="TelegramDesktop"] no_focus
#for_window [class="Rocket.Chat"] no_focus
#for_window [class="Element"] no_focus
#for_window [class="Thunderbird"] focus
for_window [title="Manjaro Settings Manager"] floating enable
for_window [class="Pamac-manager"] floating enable
for_window [class="Pamac-updater"] floating enable
for_window [class="Qalculate-gtk"] floating enable
#for_window [class="zoom" title="Chat"] floating enable
#for_window [class="Thunderbird" instance="Msgcompose"] floating enable
#
for_window [window_role=floating] floating enable
for_window [class="Viewnior"] border normal
########## Autostart applications ##########
# exec --no-startup-id "i3-msg 'workspace 9; append_layout ~/.config/i3/workspace-chat.json'"
@ -305,24 +362,42 @@ exec firefox
# exec element-desktop no_focus
# exec telegram-desktop no_focus
#exec firefox
#exec thunderbird
#exec chat.rocket.RocketChat no_focus
#exec element-desktop no_focus
#exec telegram-desktop no_focus
exec_always --no-startup-id i3-layouts
# Rightclick menu
exec_always --no-startup-id ~/.config/polybar/startup.sh
exec --no-startup-id jgmenu --at-pointer --hide-on-startup
exec --no-startup-id nm-applet
exec --no-startup-id blueman-applet
exec --no-startup-id xfce4-power-manager
# exec --no-startup-id nextcloud
# Authentication agent
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Notify about software updates
exec --no-startup-id pamac-tray
# exec --no-startup-id pamac-tray
# Notify about kernel updates
exec --no-startup-id msm_notifier
# exec --no-startup-id msm_notifier
# Audio
exec --no-startup-id start-pulseaudio-x11
# Background
#exec --no-startup-id feh --randomize --bg-fill /home/julian/Pictures/Hintergrundbilder/*
exec --no-startup-id feh --bg-fill /home/julian/Pictures/Hintergrundbilder/space.jpg
exec --no-startup-id feh --bg-fill /home/julian/Bilder/background.jpg
# Notifications
exec --no-startup-id dunst -config /home/julian/.config/dunst/dunstrc
# exec --no-startup-id dunst -config /home/julian/.config/dunst/dunstrc
exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd
# Default workspaces at startup (no need because autostart applications get always focused)
#exec --no-startup-id i3-msg workspace $ws1
# exec --no-startup-id i3-msg workspace $ws10
#exec --no-startup-id i3-msg workspace $ws10
#bindsym $mod+Ctrl+q exec i3l 'vstack right' && notify-send 'Layout vstack right'
#bindsym $mod+Ctrl+w exec i3l 'vstack left' && notify-send 'Layout vstack left'
#bindsym $mod+Ctrl+e exec 'i3l hstack down' && notify-send 'Layout hstack down'
#bindsym $mod+Ctrl+r exec 'i3l hstack up' && notify-send 'Layout hstack up'
#bindsym $mod+Ctrl+t exec i3l 3columns right && notify-send 'Layout 3columns'
#bindsym $mod+Ctrl+z exec i3l 2columns left && notify-send 'Layout 2columns'

View File

@ -152,13 +152,12 @@ configuration {
/* me-accept-custom: "Control+MouseDPrimary";*/
}
/*Dracula theme based on the Purple official rofi theme*/
* {
font: "Jetbrains Mono 14";
foreground: #f8f8f2;
background-color: #282a36;
background: #282a36;
active-background: #6272a4;
urgent-background: #ff5555;
selected-background: @active-background;

376
leftwm/config.toml Normal file
View File

@ -0,0 +1,376 @@
modkey = "Mod4"
mousekey = "Mod4"
workspaces = []
tags = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ]
layouts = [
"MainAndVertStack",
"MainAndHorizontalStack",
# "MainAndDeck",
#"GridHorizontal",
# "EvenHorizontal",
# "EvenVertical",
# "Fibonacci",
# "LeftMain",
# "CenterMain",
# "CenterMainBalanced",
# "CenterMainFluid",
# "Monocle",
# "RightWiderLeftStack",
# "LeftWiderRightStack"
]
layout_mode = "Tag"
insert_behavior = "Bottom"
disable_current_tag_swap = false
disable_tile_drag = true
focus_behaviour = "Sloppy"
focus_new_windows = true
disable_window_snap = true
window_rules = [
{window_class = "firefox", window_title = "Mozilla Firefox$", spawn_on_tag = 1},
{window_class = "TelegramDesktop", spawn_on_tag = 9},
{window_class = "Signal", spawn_on_tag = 9},
{window_class = "Rocket.Chat", spawn_on_tag = 9},
{window_class = "Element", spawn_on_tag = 9},
{window_class = "Thunderbird", spawn_on_tag = 10},
{window_class = "zoom", spawn_on_tag = 5},
# {window_title = "Manjaro Settings Manager", spawn_floating = true},
# {window_class = "Pamac-manager", spawn_floating = true},
# {window_class = "Pamac-updater", spawn_floating = true},
# {window_class = "Qalculate-gtk", spawn_floating = true},
]
[[keybind]]
command = "SetLayout"
value = "Monocle"
modifier = ["modkey"]
key = "m"
[[scratchpad]]
name = "calculator"
value = "qalculate-gtk"
[[keybind]]
command = "ToggleScratchPad"
value = "calculator"
modifier = ["modkey"]
key = "c"
[[keybind]]
command = "Execute"
value = "~/.config/leftwm/scripts/dzen_exit_menu.pl"
modifier = ["modkey", "Shift"]
key = "e"
[[keybind]]
command = "Execute"
value = "firefox"
modifier = ["modkey"]
key = "b"
[[keybind]]
command = "Execute"
value = "krusader"
modifier = ["modkey"]
key = "t"
[[keybind]]
command = "Execute"
value = "rofi -show run #dmenu_recency -i"
modifier = ["modkey"]
key = "d"
[[keybind]]
command = "Execute"
value = "alacritty"
modifier = ["modkey"]
key = "Return"
[[keybind]]
command = "ToggleFullScreen"
value = ""
modifier = ["modkey"]
key = "f"
[[keybind]]
command = "ToggleFloating"
value = ""
modifier = ["modkey", "Shift"]
key = "space"
[[keybind]]
command = "CloseWindow"
value = ""
modifier = ["modkey"]
key = "q"
[[keybind]]
command = "CloseWindow"
value = ""
modifier = ["modkey"]
key = "x"
[[keybind]]
command ="SoftReload"
value = ""
modifier = ["modkey", "Shift"]
key = "r"
#[[keybind]]
#command = "MoveToLastWorkspace"
#value = ""
#modifier = ["modkey", "Shift"]
#key = "w"
#[[keybind]]
#command = "SwapTags"
#value = ""
#modifier = ["modkey"]
#key = "w"
#[[keybind]]
#command = "MoveWindowUp"
#value = ""
#modifier = ["modkey", "Shift"]
#key = "k"
#[[keybind]]
#command = "MoveWindowDown"
#value = ""
#modifier = ["modkey", "Shift"]
#key = "j"
#[[keybind]]
#command = "MoveWindowTop"
#value = ""
#modifier = ["modkey", "Shift"]
#key = "Return"
#[[keybind]]
#command = "FocusWindowUp"
#value = ""
#modifier = ["modkey"]
#key = "k"
#[[keybind]]
#command = "FocusWindowDown"
#value = ""
#modifier = ["modkey"]
#key = "j"
#[[keybind]]
#command = "NextLayout"
#value = ""
#modifier = ["modkey", "Control"]
#key = "k"
#[[keybind]]
#command = "PreviousLayout"
#value = ""
#modifier = ["modkey", "Control"]
#key = "j"
#[[keybind]]
#command = "FocusWorkspaceNext"
#value = ""
#modifier = ["modkey"]
#key = "l"
#[[keybind]]
#command = "FocusWorkspacePrevious"
#value = ""
#modifier = ["modkey"]
#key = "h"
[[keybind]]
command = "FocusWindowUp"
value = ""
modifier = ["modkey"]
key = "Up"
[[keybind]]
command = "FocusWindowDown"
value = ""
modifier = ["modkey"]
key = "Down"
[[keybind]]
command = "FocusWindowTop"
value = "true"
modifier = ["modkey"]
key = "Left"
[[keybind]]
command = "FocusWindowTop"
value = "true"
modifier = ["modkey"]
key = "Right"
[[keybind]]
command = "MoveWindowUp"
value = ""
modifier = ["modkey", "Shift"]
key = "Up"
[[keybind]]
command = "MoveWindowDown"
value = ""
modifier = ["modkey", "Shift"]
key = "Down"
[[keybind]]
command = "MoveWindowTop"
value = ""
modifier = ["modkey", "Shift"]
key = "Left"
[[keybind]]
command = "MoveWindowTop"
value = ""
modifier = ["modkey", "Shift"]
key = "Right"
[[keybind]]
command = "NextLayout"
value = ""
modifier = ["modkey", "Control"]
key = "Up"
[[keybind]]
command = "RotateTag"
value = ""
modifier = ["modkey", "Control"]
key = "Down"
#[[keybind]]
#command = "FocusWorkspaceNext"
#value = ""
#modifier = ["modkey"]
#key = "Right"
#[[keybind]]
#command = "FocusWorkspacePrevious"
#value = ""
#modifier = ["modkey"]
#key = "Left"
[[keybind]]
command = "GotoTag"
value = "1"
modifier = ["modkey"]
key = "1"
[[keybind]]
command = "GotoTag"
value = "2"
modifier = ["modkey"]
key = "2"
[[keybind]]
command = "GotoTag"
value = "3"
modifier = ["modkey"]
key = "3"
[[keybind]]
command = "GotoTag"
value = "4"
modifier = ["modkey"]
key = "4"
[[keybind]]
command = "GotoTag"
value = "5"
modifier = ["modkey"]
key = "5"
[[keybind]]
command = "GotoTag"
value = "6"
modifier = ["modkey"]
key = "6"
[[keybind]]
command = "GotoTag"
value = "7"
modifier = ["modkey"]
key = "7"
[[keybind]]
command = "GotoTag"
value = "8"
modifier = ["modkey"]
key = "8"
[[keybind]]
command = "GotoTag"
value = "9"
modifier = ["modkey"]
key = "9"
[[keybind]]
command = "GotoTag"
value = "10"
modifier = ["modkey"]
key = "0"
[[keybind]]
command = "MoveToTag"
value = "1"
modifier = ["modkey", "Shift"]
key = "1"
[[keybind]]
command = "MoveToTag"
value = "2"
modifier = ["modkey", "Shift"]
key = "2"
[[keybind]]
command = "MoveToTag"
value = "3"
modifier = ["modkey", "Shift"]
key = "3"
[[keybind]]
command = "MoveToTag"
value = "4"
modifier = ["modkey", "Shift"]
key = "4"
[[keybind]]
command = "MoveToTag"
value = "5"
modifier = ["modkey", "Shift"]
key = "5"
[[keybind]]
command = "MoveToTag"
value = "6"
modifier = ["modkey", "Shift"]
key = "6"
[[keybind]]
command = "MoveToTag"
value = "7"
modifier = ["modkey", "Shift"]
key = "7"
[[keybind]]
command = "MoveToTag"
value = "8"
modifier = ["modkey", "Shift"]
key = "8"
[[keybind]]
command = "MoveToTag"
value = "9"
modifier = ["modkey", "Shift"]
key = "9"
[[keybind]]
command = "MoveToTag"
value = "10"
modifier = ["modkey", "Shift"]
key = "0"

View File

@ -0,0 +1,21 @@
#!/bin/perl
use strict;
use warnings;
my $message="System (l) lock, (e) logout, (r) reboot, (s) shutdown";
my $screen_height=1080;
my $message_height=34;
my %actions;
$actions{"l"} = "i3lock --ignore-empty-password --color 000000";
$actions{"e"} = "pkill leftwm";
$actions{"r"} = "systemctl reboot";
$actions{"s"} = "systemctl poweroff";
my @dzen_actions;
while ((my $key, my $action) = each (%actions)){
push @dzen_actions, "key_$key=exit,exec:$action";
}
my $joined_actions = join(";", @dzen_actions);
print "$joined_actions";
`echo "$message" | dzen2 -h $message_height -p -y $screen_height -e "onstart=grabkeys;key_Escape=exit;key_Return=exit;button1=exit;$joined_actions"`;

211
leftwm/themes.toml Normal file
View File

@ -0,0 +1,211 @@
[[repos]]
url = "https://raw.githubusercontent.com/leftwm/leftwm-community-themes/master/known.toml"
name = "community"
definitions_version = 1
[[repos.themes]]
name = "Orange Forest"
repository = "https://github.com/PVautour/leftwm-theme-orange-forest/"
commit = "*"
version = "0.0.2"
leftwm_versions = "^0.3.0"
current = false
[[repos.themes]]
name = "Coffee"
repository = "https://github.com/lex148/leftwm-coffee/"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "Soothe"
repository = "https://github.com/b4skyx/leftwm-soothe/"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
relative_directory = "theme/"
[[repos.themes]]
name = "TNG"
repository = "https://github.com/lex148/leftwm-tng/"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "Windows XP"
repository = "https://github.com/lex148/leftwm-windowsxp/"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "Dracula Rounded"
directory = "/home/julian/.config/leftwm/themes/Dracula Rounded"
repository = "https://github.com/AethanFoot/leftwm-theme-dracula-rounded/"
commit = "*"
version = "0.0.3"
leftwm_versions = "^0.3.0"
current = false
[[repos.themes]]
name = "Forest"
directory = "/home/julian/.config/leftwm/themes/Forest"
repository = "https://github.com/lex148/forest/"
commit = "*"
version = "0.0.1"
leftwm_versions = "^0.3.0"
current = true
[[repos.themes]]
name = "Ground Zero"
repository = "https://github.com/Qwart376/Ground-Zero/"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "Red Moon"
repository = "https://github.com/Qwart376/Red-Moon"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "Blue Coffee"
directory = "/home/julian/.config/leftwm/themes/Blue Coffee"
repository = "https://github.com/Qwart376/Blue-Coffee/"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "sunflower"
repository = "https://github.com/mautamu/leftwm-sunflower/"
commit = "*"
version = "0.1.2"
leftwm_versions = "^0.2.11, <0.3.0"
current = false
[[repos.themes]]
name = "Bumblebee"
repository = "https://github.com/mfdorst/leftwm-bumblebee/"
commit = "*"
version = "0.0.1"
leftwm_versions = "^0.2.8, <0.3.0"
current = false
[[repos.themes]]
name = "Sunset"
repository = "https://github.com/Syudagye/leftwm-sunset"
commit = "*"
version = "0.0.1"
leftwm_versions = "<0.3.0"
current = false
[[repos.themes]]
name = "Garden"
directory = "/home/julian/.config/leftwm/themes/Garden"
repository = "https://github.com/taylor85345/leftwm-theme-garden"
commit = "*"
version = "0.0.4"
leftwm_versions = ">0.2.7"
current = false
[[repos.themes]]
name = "Epitaph"
directory = "/home/julian/.config/leftwm/themes/Epitaph"
repository = "https://github.com/VentGrey/Epitaph"
commit = "*"
version = "0.0.2"
leftwm_versions = "*"
current = false
[[repos.themes]]
name = "Ocean-night"
directory = "/home/julian/.config/leftwm/themes/Ocean-night"
repository = "https://github.com/TheRoniOne/ocean-night"
commit = "*"
version = "0.0.1"
leftwm_versions = "*"
current = false
[[repos.themes]]
name = "Flamingo"
repository = "https://github.com/necaris/leftwm-theme-flamingo"
commit = "*"
version = "0.0.1"
leftwm_versions = ">0.2.7, <0.3.0"
current = false
[[repos.themes]]
name = "Amber"
repository = "https://github.com/di-effe/amber"
commit = "*"
version = "0.2.2"
leftwm_versions = ">0.2.10, <0.3.0"
current = false
[[repos.themes]]
name = "Catppuccin"
repository = "https://github.com/di-effe/catppuccin"
commit = "*"
version = "0.1.1"
leftwm_versions = ">0.2.10, <0.3.0"
current = false
[[repos.themes]]
name = "Molese"
repository = "https://github.com/m0lese/leftwm-config"
commit = "*"
version = "2.1.0"
leftwm_versions = ">0.2.10, <0.3.0"
current = false
[[repos.themes]]
name = "Double Bar"
directory = "/home/julian/.config/leftwm/themes/Double Bar"
repository = "https://github.com/PeterDauwe/doublebar/"
commit = "*"
version = "0.0.2"
leftwm_versions = "^0.3.0"
current = false
[[repos.themes]]
name = "SpaceJelly"
repository = "https://gitlab.com/jchand99/space_jelly"
commit = "*"
version = "1.0.0"
leftwm_versions = ">0.2.10, <0.3.0"
current = false
[[repos.themes]]
name = "Ascent"
directory = "/home/julian/.config/leftwm/themes/Ascent"
repository = "https://gitlab.com/mWalrus/ascent"
commit = "*"
version = "1.0.0"
leftwm_versions = ">0.2.7"
current = false
[[repos.themes]]
name = "Zexanima"
repository = "https://github.com/calebgasser/zexanima-leftwm-theme/tree/develop"
commit = "*"
version = "0.0.1"
leftwm_versions = ">0.3.0"
current = false
[[repos]]
url = "localhost"
name = "LOCAL"
definitions_version = 1
themes = []

1
leftwm/themes/current Submodule

@ -0,0 +1 @@
Subproject commit 129901d8aa23bbbcacebb44aebe62aaee441c9cf

134
leftwm/themes/current.diff Normal file
View File

@ -0,0 +1,134 @@
Submodule leftwm/themes/current contains modified content
diff --git a/leftwm/themes/current/down b/leftwm/themes/current/down
index 81fcae4..8dce89e 100755
--- a/leftwm/themes/current/down
+++ b/leftwm/themes/current/down
@@ -14,4 +14,3 @@ pkill picom
pkill polybar
pkill dunst
pkill lxsession
-
diff --git a/leftwm/themes/current/polybar/bars.ini b/leftwm/themes/current/polybar/bars.ini
index 368f5e5..80d09d4 100644
--- a/leftwm/themes/current/polybar/bars.ini
+++ b/leftwm/themes/current/polybar/bars.ini
@@ -46,6 +46,7 @@ bar-volume-empty = ${bar.empty}
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${color.sep}
ramp-headphones-0 = 
+click-right = pavucontrol
[module/brightness]
type = internal/backlight
diff --git a/leftwm/themes/current/polybar/config.ini b/leftwm/themes/current/polybar/config.ini
index 88747c3..e81ff69 100644
--- a/leftwm/themes/current/polybar/config.ini
+++ b/leftwm/themes/current/polybar/config.ini
@@ -18,7 +18,7 @@ monitor = ${env:monitor}
monitor-fallback =
monitor-strict = false
override-redirect = false
-bottom = false
+bottom = true
fixed-center = true
width = 100%
height = 34
@@ -39,8 +39,8 @@ font-0 = "Iosevka Nerd Font:size=10;4"
font-1 = "Iosevka Nerd Font:size=10;3"
font-2 = "feather:size=12;3"
modules-left = workspaces sep cpu memory filesystem
-modules-center = mpd sep date
-modules-right = battery network sep volume brightness sep sysmenu sep
+modules-center =
+modules-right = battery network volume brightness sep date
separator =
dim-value = 1.0
wm-name =
@@ -50,7 +50,7 @@ tray-detached = false
enable-ipc = true
click-left =
click-middle =
-click-right =
+click-right = jgmenu_run
scroll-up =
scroll-down =
double-click-left =
diff --git a/leftwm/themes/current/polybar/modules.ini b/leftwm/themes/current/polybar/modules.ini
index 0b2ff0e..0491e61 100644
--- a/leftwm/themes/current/polybar/modules.ini
+++ b/leftwm/themes/current/polybar/modules.ini
@@ -76,11 +76,11 @@ label = " %percentage%%"
[module/date]
type = internal/date
-interval = 1.0
-date = %A, %d %B
-time = at %I:%M %p
+interval = 0.5
+date = %A, %d.%m.%Y
+time = at %H:%M:%S
date-alt = It's %A, %d %B %Y
-time-alt = at %k:%M:%S
+time-alt = at %H:%M:%S
format = <label>
format-prefix = " "
format-prefix-foreground = ${color.red}
diff --git a/leftwm/themes/current/polybar/polybar.sh b/leftwm/themes/current/polybar/polybar.sh
new file mode 100755
index 0000000..033b764
--- /dev/null
+++ b/leftwm/themes/current/polybar/polybar.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+#boot a polybar for each monitor
+# cd ${SCRIPTPATH}/polybar
+polybar -m | sed s/:.*// | tac | while read -r monitor
+do
+ monitor=$monitor polybar -c config.ini main &> /dev/null &
+done
diff --git a/leftwm/themes/current/theme.toml b/leftwm/themes/current/theme.toml
index 1e11d8f..297138a 100644
--- a/leftwm/themes/current/theme.toml
+++ b/leftwm/themes/current/theme.toml
@@ -1,5 +1,5 @@
border_width = 5
-margin = 20
+margin = 5
default_border_color = "#222222"
floating_border_color = "#005500"
focused_border_color = "#FFB53A"
diff --git a/leftwm/themes/current/up b/leftwm/themes/current/up
index 0f03bbb..6455180 100755
--- a/leftwm/themes/current/up
+++ b/leftwm/themes/current/up
@@ -23,16 +23,26 @@ leftwm-command "LoadTheme $SCRIPTPATH/theme.toml"
#set background
if [ -x "$(command -v feh)" ]; then
- feh --bg-scale "${SCRIPTPATH}/background.jpg"
+ # feh --bg-scale "${SCRIPTPATH}/background.jpg"
+ feh --bg-fill /home/julian/Bilder/background.jpg
fi
#make sure all fonts needed are installed
${SCRIPTPATH}/fonts/install_fonts
# extra utils to make this theme a little more homey
-if [ -x "$(command -v dunst)" ]; then
- dunst &
-fi
+#if [ -x "$(command -v dunst)" ]; then
+# dunst &
+#fi
+
+/usr/lib/xfce4/notifyd/xfce4-notifyd &
+nm-applet &
+blueman-applet &
+xfce4-power-manager &
+# nextcloud &
+/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
+start-pulseaudio-x11 &
+jgmenu --at-pointer --hide-on-startup &
#boot a polybar for each monitor
cd ${SCRIPTPATH}/polybar

13
manjaro/.xprofile Normal file
View File

@ -0,0 +1,13 @@
export LANG=en_US.utf8
export LC_CTYPE="en_US.utf8"
export LC_NUMERIC="de_DE.utf8"
export LC_TIME="en_US.utf8"
export LC_COLLATE="en_US.utf8"
export LC_MONETARY="de_DE.utf8"
export LC_MESSAGES="en_US.utf8"
export LC_PAPER="en_US.utf8"
export LC_NAME="en_US.utf8"
export LC_ADDRESS="en_US.utf8"
export LC_TELEPHONE="en_US.utf8"
export LC_MEASUREMENT="en_US.utf8"
export LC_IDENTIFICATION="en_US.utf8"

171
polybar/config.ini Normal file
View File

@ -0,0 +1,171 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #282A2E
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880
[bar/main]
monitor = ${env:monitor}
width = 100%
height = 24pt
line-size = 5
bottom = true
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
padding-left = 0
padding-right = 1
module-margin = 1
font-0 = monospace;2
; https://feathericons.com/
; https://github.com/AT-UI/feather-font
font-1 = feather;2
modules-left = i3
modules-center = cpu memory filesystem
modules-right = volume sep date
tray-position = right
tray-detached = false
enable-ipc = true
click-right = jgmenu_run
[module/sep]
type = custom/text
content = |
content-foreground = ${colors.foreground}
[module/i3]
type = internal/i3
enable-click = true
enable-scroll = true
pin_workspaces = true
format = <label-state> <label-mode>
label-mode =  %mode%
label-mode-padding = 1
label-mode-background = ${colors.background-alt}
label-mode-foreground = ${colors.primary}
label-mode-prefix =
label-mode-prefix-foreground = ${colors.primary}
label-focused = %name%
label-focused-background = ${colors.background-alt}
label-focused-padding = 1
label-unfocused = %name%
label-unfocused-padding = 1
label-urgent = %name%
label-urgent-underline = ${colors.alert}
label-urgent-padding = 1
label-visible = %name%
label-visible-foreground = ${colors.disabled}
label-visible-padding = 1
[module/xworkspaces]
type = internal/xworkspaces
enable-click = true
enable-scroll = true
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
[module/volume]
type = internal/pulseaudio
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
format-volume-prefix-foreground = ${colors.primary}
ramp-volume-0 =
ramp-volume-1 =
ramp-volume-2 =
ramp-volume-foreground = ${colors.primary}
label-muted = MUTED
label-muted-foreground = ${colors.primary}
click-right = pavucontrol
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix =
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[module/date]
type = internal/date
interval = 0.5
date = %A, %d.%m.%Y
time = at %H:%M:%S
label = %date% %time%
label-foreground = ${colors.foreground}
format-prefix = " "
format-prefix-foreground = ${colors.primary}
[settings]
screenchange-reload = true
pseudo-transparency = false

8
polybar/startup.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
#boot a polybar for each monitor
pkill polybar
polybar -m | sed s/:.*// | tac | while read -r monitor
do
monitor=$monitor polybar main &> /dev/null &
done

13
starship/starship.toml Normal file
View File

@ -0,0 +1,13 @@
add_newline = false
#format = "$all$directory$character"
[line_break]
disabled = true
[directory]
fish_style_pwd_dir_length = 1
[status]
map_symbol = true
format = '[$symbol$status $common_meaning$signal_name$maybe_int]($style) '
disabled = false

164
vim/.vimrc Normal file
View File

@ -0,0 +1,164 @@
" URL: https://vim.wikia.com/wiki/Example_vimrc
" Authors: https://vim.wikia.com/wiki/Vim_on_Libera_Chat
" Description: A minimal, but feature rich, example .vimrc. If you are a
" newbie, basing your first .vimrc on this file is a good choice.
" If you're a more advanced user, building your own .vimrc based
" on this file is still a good idea.
"------------------------------------------------------------
" Features {{{1
"
" These options and commands enable some very useful features in Vim, that
" no user should have to live without.
" Set 'nocompatible' to ward off unexpected things that your distro might
" have made, as well as sanely reset options when re-sourcing .vimrc
set nocompatible
" Attempt to determine the type of a file based on its name and possibly its
" contents. Use this to allow intelligent auto-indenting for each filetype,
" and for plugins that are filetype specific.
if has('filetype')
filetype indent plugin on
endif
" Enable syntax highlighting
if has('syntax')
syntax on
endif
"------------------------------------------------------------
" Must have options {{{1
"
" These are highly recommended options.
" Vim with default settings does not allow easy switching between multiple files
" in the same editor window. Users can use multiple split windows or multiple
" tab pages to edit multiple files, but it is still best to enable an option to
" allow easier switching between files.
"
" One such option is the 'hidden' option, which allows you to re-use the same
" window and switch from an unsaved buffer without saving it first. Also allows
" you to keep an undo history for multiple files when re-using the same window
" in this way. Note that using persistent undo also lets you undo in multiple
" files even in the same window, but is less efficient and is actually designed
" for keeping undo history after closing Vim entirely. Vim will complain if you
" try to quit without saving, and swap files will keep you safe if your computer
" crashes.
set hidden
" Note that not everyone likes working this way (with the hidden option).
" Alternatives include using tabs or split windows instead of re-using the same
" window as mentioned above, and/or either of the following options:
" set confirm
" set autowriteall
" Better command-line completion
set wildmenu
" Show partial commands in the last line of the screen
set showcmd
" Highlight searches (use <C-L> to temporarily turn off highlighting; see the
" mapping of <C-L> below)
set hlsearch
" Modelines have historically been a source of security vulnerabilities. As
" such, it may be a good idea to disable them and use the securemodelines
" script, <http://www.vim.org/scripts/script.php?script_id=1876>.
" set nomodeline
"------------------------------------------------------------
" Usability options {{{1
"
" These are options that users frequently set in their .vimrc. Some of them
" change Vim's behaviour in ways which deviate from the true Vi way, but
" which are considered to add usability. Which, if any, of these options to
" use is very much a personal preference, but they are harmless.
" Use case insensitive search, except when using capital letters
set ignorecase
set smartcase
" Allow backspacing over autoindent, line breaks and start of insert action
set backspace=indent,eol,start
" When opening a new line and no filetype-specific indenting is enabled, keep
" the same indent as the line you're currently on. Useful for READMEs, etc.
set autoindent
" Stop certain movements from always going to the first character of a line.
" While this behaviour deviates from that of Vi, it does what most users
" coming from other editors would expect.
set nostartofline
" Display the cursor position on the last line of the screen or in the status
" line of a window
set ruler
" Always display the status line, even if only one window is displayed
set laststatus=2
" Instead of failing a command because of unsaved changes, instead raise a
" dialogue asking if you wish to save changed files.
set confirm
" Use visual bell instead of beeping when doing something wrong
set visualbell
" And reset the terminal code for the visual bell. If visualbell is set, and
" this line is also included, vim will neither flash nor beep. If visualbell
" is unset, this does nothing.
set t_vb=
" Enable use of the mouse for all modes
if has('mouse')
set mouse=a
endif
" Set the command window height to 2 lines, to avoid many cases of having to
" "press <Enter> to continue"
set cmdheight=2
" Display line numbers on the left
set number relativenumber
" Quickly time out on keycodes, but never time out on mappings
set notimeout ttimeout ttimeoutlen=200
" Use <F11> to toggle between 'paste' and 'nopaste'
set pastetoggle=<F11>
"------------------------------------------------------------
" Indentation options {{{1
"
" Indentation settings according to personal preference.
" Indentation settings for using 4 spaces instead of tabs.
" Do not change 'tabstop' from its default value of 8 with this setup.
set shiftwidth=4
set softtabstop=4
set expandtab
" Indentation settings for using hard tabs for indent. Display tabs as
" four characters wide.
"set shiftwidth=4
"set tabstop=4
"------------------------------------------------------------
" Mappings {{{1
"
" Useful mappings
" Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy,
" which is the default
map Y y$
" Map <C-L> (redraw screen) to also turn off search highlighting until the
" next search
nnoremap <C-L> :nohl<CR><C-L>
"------------------------------------------------------------

View File

@ -31,13 +31,15 @@ endif
let mapleader = " "
" Plugins
call plug#begin('~/.vim/plugged')
call plug#begin()
Plug 'itchyny/lightline.vim'
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
" Plug 'itchyny/lightline.vim'
" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
" Plug 'Valloric/YouCompleteMe'
" Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
Plug 'https://github.com/ap/vim-css-color.git'
Plug 'vim-autoformat/vim-autoformat'
" Collection of common configurations for the Nvim LSP client
" Plug 'neovim/nvim-lspconfig'

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,21 @@
#!/bin/perl
use strict;
use warnings;
my $message="System (l) lock, (e) logout, (r) reboot, (s) shutdown";
my $screen_height=1080;
my $message_height=34;
my %actions;
$actions{"l"} = "i3lock --ignore-empty-password --color 000000";
$actions{"e"} = "pkill leftwm";
$actions{"r"} = "systemctl reboot";
$actions{"s"} = "systemctl poweroff";
my @dzen_actions;
while ((my $key, my $action) = each (%actions)){
push @dzen_actions, "key_$key=exit,exec:$action";
}
my $joined_actions = join(";", @dzen_actions);
print "$joined_actions";
system "echo \"$message\" | dzen2 -h $message_height -p -y $screen_height -e \"onstart=grabkeys;key_Escape=exit;key_Return=exit;button1=exit;$joined_actions\"";

BIN
xmonad/xmonad-x86_64-linux Executable file

Binary file not shown.

1
xmonad/xmonad.errors Normal file
View File

@ -0,0 +1 @@
$ ghc --make xmonad.hs -i -ilib -fforce-recomp -main-is main -dynamic -v0 -outputdir /home/julian/.xmonad/build-x86_64-linux -o /home/julian/.xmonad/xmonad-x86_64-linux

BIN
xmonad/xmonad.hi Normal file

Binary file not shown.

205
xmonad/xmonad.hs Normal file
View File

@ -0,0 +1,205 @@
import qualified Data.Map as M
import Data.Monoid
import System.Exit
import XMonad hiding ((|||))
import XMonad.Actions.MouseResize
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.InsertPosition (Focus (Newer), Position (Below, Master), insertPosition)
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers (doCenterFloat, doFullFloat, isDialog, isFullscreen)
import XMonad.Layout.Fullscreen
import XMonad.Layout.LayoutCombinators
import XMonad.Layout.LimitWindows
import XMonad.Layout.MultiToggle
import XMonad.Layout.MultiToggle.Instances
import XMonad.Layout.NoBorders
import XMonad.Layout.NoFrillsDecoration (simpleDeco)
import XMonad.Layout.Reflect (reflectHoriz)
import XMonad.Layout.Renamed
import XMonad.Layout.ResizableTile
import XMonad.Layout.SimpleDecoration
import XMonad.Layout.Simplest
import XMonad.Layout.SimplestFloat
import XMonad.Layout.Spacing
import XMonad.Layout.SubLayouts
import XMonad.Layout.Tabbed
import XMonad.Layout.ToggleLayouts
import qualified XMonad.Layout.ToggleLayouts as T (ToggleLayout (Toggle), toggleLayouts)
import XMonad.Layout.WindowArranger
import XMonad.Layout.WindowNavigation
import qualified XMonad.StackSet as W
import XMonad.Util.EZConfig (additionalKeysP, checkKeymap)
import XMonad.Util.SpawnOnce
myTerminal = "alacritty"
myFocusFollowsMouse = True
-- mod1Mask = left alt; mod3Mask = right alt; mod4Mask = windows key
myModMask = mod4Mask
myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
myWorkspaceKeys = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
myBorderWidth = 2
myNormalBorderColor = "#dddddd"
myFocusedBorderColor = "#f0c674"
myAddKeys =
[ ("M-S-r", spawn "xmonad --recompile && xmonad --restart && notify-send 'Xmonad restarted'"),
("M-h", sendMessage Shrink), -- Shrink master area
("M-l", sendMessage Expand), -- Expand master area
("M-,", sendMessage (IncMasterN 1)), -- Increment the number of windows in the master area
("M-.", sendMessage (IncMasterN (-1))), -- Deincrement the number of windows in the master area
-- ("M-t", withFocused $ windows . W.sink), -- Push window back into tiling
("M-x", kill),
("M-q", kill),
("M-C-j", sendMessage $ JumpToLayout "TiledBottom"),
("M-C-k", sendMessage $ JumpToLayout "TiledTop"),
("M-C-h", sendMessage $ JumpToLayout "TiledLeft"),
("M-C-l", sendMessage $ JumpToLayout "TiledRight"),
("M-f", sendMessage $ T.Toggle "Full"),
-- ("M-S-<Space>", setLayout $ XMonad.layoutHook conf), -- Reset the layouts on the current workspace to default
("M-n", refresh), -- Resize viewed windows to the correct size
("M-<Tab>", windows W.focusDown), -- Move focus to the next window
("M-j", windows W.focusDown), -- Move focus to the next window
("M-k", windows W.focusUp), -- Move focus to the previous window
("M-m", windows W.focusMaster), -- Move focus to the master window
-- Swap the focused window and the master window
-- ((modm, xK_Return), windows W.swapMaster),
("M-S-j", windows W.swapDown), -- Swap the focused window with the next window
("M-S-k", windows W.swapUp), -- Swap the focused window with the previous window
("M-S-e", spawn "~/.xmonad/scripts/dzen_exit_menu.pl"),
-- My keybound programs
("M-d", spawn "rofi -show run #dmenu_recency -i"),
("M-<Return>", spawn myTerminal),
("M-b", spawn "firefox"),
("M-t", spawn "krusader"),
("M-u", spawn "pamac-manager"),
("M-c", spawn "qalculate-gtk"),
("<XF86AudioMute>", spawn "amixer set Master toggle"),
("<XF86AudioLowerVolume>", spawn "amixer set Master 10%- unmute"),
("<XF86AudioRaiseVolume>", spawn "amixer set Master 10%+ unmute")
]
-- Switch to workspace
++ [ ("M-" ++ key, windows $ W.greedyView workspace)
| (key, workspace) <- zip myWorkspaceKeys myWorkspaces
]
-- Move window to workspace and follow
++ [ ( "M-S-" ++ key,
do
windows $ W.shift workspace
windows $
W.greedyView workspace
)
| (key, workspace) <- zip myWorkspaceKeys myWorkspaces
]
-- Move window to workspace
++ [ ("M-C-" ++ key, windows $ W.shift workspace)
| (key, workspace) <- zip myWorkspaceKeys myWorkspaces
]
myKeys conf@(XConfig {XMonad.modMask = modm}) =
M.fromList $
[ -- Reset the layouts on the current workspace to default
((modm .|. shiftMask, xK_space), setLayout $ XMonad.layoutHook conf),
-- Quit xmonad
((modm .|. shiftMask, xK_q), io exitSuccess)
]
myMouseBindings (XConfig {XMonad.modMask = modm}) =
M.fromList
-- mod-button1, Set the window to floating mode and move by dragging
[ ( (modm, button1),
\w ->
focus w >> mouseMoveWindow w
>> windows W.shiftMaster
),
-- mod-button2, Raise the window to the top of the stack
((modm, button2), \w -> focus w >> windows W.shiftMaster),
-- mod-button3, Set the window to floating mode and resize by dragging
( (modm, button3),
\w ->
focus w >> mouseResizeWindow w
>> windows W.shiftMaster
)
-- you may also bind events to the mouse scroll wheel (button4 and button5)
]
myLayouts = T.toggleLayouts Full $ tiledRight ||| tiledBottom ||| tiledLeft ||| tiledTop ||| Full
where
tiledRight = renamed [Replace "TiledRight"] $ Tall nmaster delta ratio
tiledBottom = renamed [Replace "TiledBottom"] $ Mirror $ Tall nmaster delta ratio
tiledLeft = renamed [Replace "TiledLeft"] $ reflectHoriz $ Tall nmaster delta ratio
tiledTop = renamed [Replace "TiledTop"] $ Mirror $ reflectHoriz $ Tall nmaster delta ratio
-- The default number of windows in the master pane
nmaster = 1
-- Default proportion of screen occupied by master pane
ratio = 1 / 2
-- Percent of screen to increment by when resizing panes
delta = 3 / 100
-- To match on the WM_NAME, you can use 'title' in the same way that
-- 'className' and 'resource' are used below.
myManageHook =
composeAll
[ className =? "Qalculate-gtk" --> doCenterFloat,
resource =? "desktop_window" --> doIgnore,
resource =? "kdesktop" --> doIgnore,
className =? "firefox" <&&> title =? "Mozilla Firefox" --> doShift "1" <+> doF (W.greedyView "1"),
className =? "TelegramDesktop" --> doShift "9",
className =? "Signal" --> doShift "9",
className =? "Rocket.Chat" --> doShift "9",
className =? "Element" --> doShift "9",
className =? "Thunderbird" --> doShift "10",
className =? "zoom" --> doShift "5"
-- isFullscreen --> doFullFloat
]
myStartupHook = do
spawn "~/.config/polybar/startup.sh"
spawnOnce "picom"
spawnOnce "nm-applet"
spawnOnce "blueman-applet"
spawnOnce "xfce4-power-manager"
spawnOnce "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
spawnOnce "start-pulseaudio-x11"
spawnOnce "feh --bg-fill /home/julian/Bilder/background.jpg"
spawnOnce "/usr/lib/xfce4/notifyd/xfce4-notifyd"
spawnOnce "jgmenu --at-pointer --hide-on-startup"
-- Very important return()!!!
return () >> checkKeymap myConfig myAddKeys
main =
xmonad $
ewmhFullscreen $ ewmh $ docks myConfig
myConfig =
def
{ terminal = myTerminal,
focusFollowsMouse = myFocusFollowsMouse,
borderWidth = myBorderWidth,
modMask = myModMask,
workspaces = myWorkspaces,
normalBorderColor = myNormalBorderColor,
focusedBorderColor = myFocusedBorderColor,
-- key bindings
keys = myKeys,
mouseBindings = myMouseBindings,
-- hooks, layouts
layoutHook = smartBorders $ avoidStruts $ smartSpacingWithEdge 2 $ myLayouts,
manageHook = insertPosition Below Newer <+> myManageHook,
-- handleEventHook =
-- logHook =
startupHook = myStartupHook
}
`additionalKeysP` myAddKeys
-- Local Variables:
-- lsp-lens-enable: nil
-- End:

BIN
xmonad/xmonad.o Normal file

Binary file not shown.

110
zsh/.zshrc Normal file
View File

@ -0,0 +1,110 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/home/julian/emacs/doom-emacs/bin:$PATH
export PATH=/home/julian/.cargo/bin:$PATH
export PATH=/home/julian/perl5/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# ZSH_THEME="robbyrussell"
# ZSH_THEME="random"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
zsh-z
web-search
dirhistory
# colored-man-pages
# zsh-interactive-cd
# jsontools
# make it behave like fish
zsh-autosuggestions
zsh-history-substring-search
zsh-syntax-highlighting
)
source $ZSH/oh-my-zsh.sh
alias vi="nvim"
alias ls="ls --color"
alias grep="grep --color"
alias la="ls -Alh --color"
alias g="git status"
alias bat="bat --paging=never"
mkcd ()
{
mkdir -p -- "$1" && cd -P -- "$1"
}
follow_du () {
/usr/local/bin/follow_du "$@"
cd $(cat /tmp/follow_du_workdir)
}
eval "$(starship init zsh)"

View File

@ -0,0 +1,6 @@
#!/usr/bin/zsh
fzf-z() {
dir=$(z | fzf --tiebreak=index --tac | sed -E 's/^[0-9]+[[:space:]]+//')
cd $dir
}

View File

@ -0,0 +1,21 @@
#!/usr/bin/zsh
#
# My version of the last-working-dir plugin (https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/last-working-dir/last-working-dir.plugin.zsh)
#
# Updates the last directory once directory is changed
autoload -U add-zsh-hook
add-zsh-hook chpwd chpwd_last_working_dir
chpwd_last_working_dir() {
# Don't run in subshells
[[ "$ZSH_SUBSHELL" -eq 0 ]] || return 0
pwd > ~/.last-working-dir
}
# Changes directory to the last working directory
lwd() {
if [[ -r ~/.last-working-dir ]]; then
lwd=$(cat ~/.last-working-dir)
cd $lwd
echo $lwd
fi
}