aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Bossing <max@bossi.ng>2025-07-15 21:20:49 +0200
committerMax Bossing <max@bossi.ng>2025-07-15 21:20:49 +0200
commit432b77a28734ed6a744f40a9f1210f1a3d58d0ca (patch)
treee19230d4ef8ff16ca5942942370b8a843d5b2dc7
init
-rw-r--r--fish/.gitignore3
-rw-r--r--fish/config.fish50
-rw-r--r--hermes.dots.toml23
-rw-r--r--hestia.dots.toml23
-rw-r--r--hypr/hermes.hyprland.conf298
-rw-r--r--hypr/hyprlock.conf124
-rw-r--r--hypr/hyprpaper.conf2
-rw-r--r--kitty/current-theme.conf50
-rw-r--r--kitty/kitty.conf18
-rw-r--r--nvim/.gitignore1
-rw-r--r--nvim/init.lua117
11 files changed, 709 insertions, 0 deletions
diff --git a/fish/.gitignore b/fish/.gitignore
new file mode 100644
index 0000000..847b95c
--- /dev/null
+++ b/fish/.gitignore
@@ -0,0 +1,3 @@
+completions
+functions
+fish_variables
diff --git a/fish/config.fish b/fish/config.fish
new file mode 100644
index 0000000..82f9d8c
--- /dev/null
+++ b/fish/config.fish
@@ -0,0 +1,50 @@
+# Remove fish greeting
+set fish_greeting
+
+# Set terminal/visual editor to nvim
+set EDITOR 'nvim'
+set VISUAL 'nvim'
+
+fish_add_path ~/.cargo/bin
+fish_add_path ~/.local/bin
+
+# This is used so the pgp keys on my Yubikey can be used for ssh etc
+eval (ssh-agent -c)
+gpg-agent --enable-ssh-support
+set SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
+set GPG_TTY (tty)
+export GPG_TTY=(tty)
+gpg-connect-agent updatestartuptty /bye >/dev/null
+
+# Switch gpg to backup keys
+# Main key
+alias switchto1='gpg-connect-agent "20576321" "learn --force" /bye'
+# Backup Key
+alias switchto2='gpg-connect-agent "20576243" "learn --force" /bye'
+
+# exa > ls
+alias ls='exa -al --group-directories-first --icons --color=always'
+
+alias battery='upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage'
+
+# attach to tmux session
+alias attach='tmux -f ~/tmux.conf new-session -A -s terminal'
+
+# hö
+alias ed='nvim'
+
+# Colors
+set fish_color_normal white
+set fish_color_autosuggestion '#555555'
+set fish_color_command white
+set fish_color_error '#ff6c6b'
+set fish_color_param '#777777'
+
+
+# PATH
+set PATH "$PATH:/home/max/.local/bin"
+
+clear
+
+# Init starship
+starship init fish | source
diff --git a/hermes.dots.toml b/hermes.dots.toml
new file mode 100644
index 0000000..5d38dab
--- /dev/null
+++ b/hermes.dots.toml
@@ -0,0 +1,23 @@
+[[dot]]
+src = "nvim"
+dest = ".config/nvim"
+
+[[dot]]
+src = "fish"
+dest = ".config/fish"
+
+[[dot]]
+src = "hypr/hermes.hyprland.conf"
+dest = ".config/hypr/hyprland.conf"
+
+[[dot]]
+src = "hypr/hyprpaper.conf"
+dest = ".config/hypr/hyprpaper.conf"
+
+[[dot]]
+src = "hypr/hyprlock.conf"
+dest = ".config/hypr/hyprlock.conf"
+
+[[dot]]
+src = "kitty"
+dest = ".config/kitty"
diff --git a/hestia.dots.toml b/hestia.dots.toml
new file mode 100644
index 0000000..c8591d7
--- /dev/null
+++ b/hestia.dots.toml
@@ -0,0 +1,23 @@
+[[dot]]
+src = "nvim"
+dest = ".config/nvim"
+
+[[dot]]
+src = "fish"
+dest = ".config/fish"
+
+[[dot]]
+src = "hypr/hestia.hyprland.conf"
+dest = ".config/hypr/hyprland.conf"
+
+[[dot]]
+src = "hypr/hyprpaper.conf"
+dest = ".config/hypr/hyprpaper.conf"
+
+[[dot]]
+src = "hypr/hyprlock.conf"
+dest = ".config/hypr/hyprlock.conf"
+
+[[dot]]
+src = "kitty"
+dest = ".config/kitty"
diff --git a/hypr/hermes.hyprland.conf b/hypr/hermes.hyprland.conf
new file mode 100644
index 0000000..3222165
--- /dev/null
+++ b/hypr/hermes.hyprland.conf
@@ -0,0 +1,298 @@
+################
+### MONITORS ###
+################
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=,preferred,auto,auto
+
+###################
+### MY PROGRAMS ###
+###################
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+
+# Set programs that you use
+$terminal = kitty
+$fileManager = nautilus
+$menu = fuzzel
+
+#################
+### AUTOSTART ###
+#################
+
+# Autostart necessary processes (like notifications daemons, status bars, etc.)
+# Or execute your favorite apps at launch like this:
+
+# exec-once = $terminal
+# exec-once = nm-applet &
+exec-once = hyprpaper
+exec-once = systemctl --user start hyprpolkitagent
+
+#############################
+### ENVIRONMENT VARIABLES ###
+#############################
+
+# See https://wiki.hyprland.org/Configuring/Environment-variables/
+
+env = XCURSOR_SIZE,10
+env = HYPRCURSOR_SIZE,10
+
+###################
+### PERMISSIONS ###
+###################
+
+# See https://wiki.hyprland.org/Configuring/Permissions/
+# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
+# for security reasons
+
+# ecosystem {
+# enforce_permissions = 1
+# }
+
+# permission = /usr/(bin|local/bin)/grim, screencopy, allow
+# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
+# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
+
+#####################
+### LOOK AND FEEL ###
+#####################
+
+# Refer to https://wiki.hyprland.org/Configuring/Variables/
+
+# https://wiki.hyprland.org/Configuring/Variables/#general
+general {
+ gaps_in = 0
+ gaps_out = 0
+
+ border_size = 0
+
+ # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
+ col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+ col.inactive_border = rgba(595959aa)
+
+ # Set to true enable resizing windows by clicking and dragging on borders and gaps
+ resize_on_border = true
+
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+
+ layout = dwindle
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#decoration
+decoration {
+ rounding = 2
+ rounding_power = 2
+
+ # Change transparency of focused and unfocused windows
+ active_opacity = 1.0
+ inactive_opacity = 0.8
+
+ shadow {
+ enabled = true
+ range = 4
+ render_power = 3
+ color = rgba(1a1a1aee)
+ }
+
+ # https://wiki.hyprland.org/Configuring/Variables/#blur
+ blur {
+ enabled = true
+ size = 3
+ passes = 1
+
+ vibrancy = 0.1696
+ }
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#animations
+animations {
+ enabled = true
+ # Animation curves
+
+ bezier = linear, 0, 0, 1, 1
+ bezier = md3_standard, 0.2, 0, 0, 1
+ bezier = md3_decel, 0.05, 0.7, 0.1, 1
+ bezier = md3_accel, 0.3, 0, 0.8, 0.15
+ bezier = overshot, 0.05, 0.9, 0.1, 1.1
+ bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
+ bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
+ bezier = menu_decel, 0.1, 1, 0, 1
+ bezier = menu_accel, 0.38, 0.04, 1, 0.07
+ bezier = easeInOutCirc, 0.85, 0, 0.15, 1
+ bezier = easeOutCirc, 0, 0.55, 0.45, 1
+ bezier = easeOutExpo, 0.16, 1, 0.3, 1
+ bezier = softAcDecel, 0.26, 0.26, 0.15, 1
+ bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
+ # Animation configs
+ animation = windows, 1, 3, md3_decel, popin 60%
+ animation = windowsIn, 1, 3, md3_decel, popin 60%
+ animation = windowsOut, 1, 3, md3_accel, popin 60%
+ animation = border, 1, 10, default
+ animation = fade, 1, 3, md3_decel
+ # animation = layers, 1, 2, md3_decel, slide
+ animation = layersIn, 1, 3, menu_decel, slide
+ animation = layersOut, 1, 1.6, menu_accel
+ animation = fadeLayersIn, 1, 2, menu_decel
+ animation = fadeLayersOut, 1, 4.5, menu_accel
+ animation = workspaces, 1, 7, menu_decel, slide
+ # animation = workspaces, 1, 2.5, softAcDecel, slide
+ # animation = workspaces, 1, 7, menu_decel, slidefade 15%
+ # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
+ animation = specialWorkspace, 1, 3, md3_decel, slidevert
+}
+
+# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
+# "Smart gaps" / "No gaps when only"
+# uncomment all if you wish to use that.
+# workspace = w[tv1], gapsout:0, gapsin:0
+# workspace = f[1], gapsout:0, gapsin:0
+# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
+# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
+# windowrule = bordersize 0, floating:0, onworkspace:f[1]
+# windowrule = rounding 0, floating:0, onworkspace:f[1]
+
+# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+dwindle {
+ pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # You probably want this
+}
+
+# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+master {
+ new_status = master
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#misc
+misc {
+ force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
+}
+
+
+#############
+### INPUT ###
+#############
+
+# https://wiki.hyprland.org/Configuring/Variables/#input
+input {
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+
+ touchpad {
+ natural_scroll = true
+ }
+ kb_options = caps:swapescape
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#gestures
+gestures {
+ workspace_swipe = true
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
+device {
+ name = epic-mouse-v1
+ sensitivity = -0.5
+}
+
+
+###################
+### KEYBINDINGS ###
+###################
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+$mainMod = SUPER # Sets "Windows" key as main modifier
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod, return, exec, $terminal
+bind = $mainMod, Q, killactive,
+bind = $mainMod, E, exit,
+bind = $mainMod SHIFT, return, exec, $fileManager
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, D, exec, $menu
+bind = $mainMod, P, pseudo, # dwindle
+bind = $mainMod, J, togglesplit, # dwindle
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Example special workspace (scratchpad)
+bind = $mainMod, S, togglespecialworkspace, magic
+bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+# Mute and lock the system
+bind = $mainMod, L, exec, pactl set-sink-mute @DEFAULT_SINK@ 1 && hyprlock
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# Laptop multimedia keys for volume and LCD brightness
+bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
+bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
+bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
+bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
+
+# Requires playerctl
+bindl = , XF86AudioNext, exec, playerctl next
+bindl = , XF86AudioPause, exec, playerctl play-pause
+bindl = , XF86AudioPlay, exec, playerctl play-pause
+bindl = , XF86AudioPrev, exec, playerctl previous
+
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
+
+# Example windowrule
+# windowrule = float,class:^(kitty)$,title:^(kitty)$
+
+# Ignore maximize requests from apps. You'll probably like this.
+windowrule = suppressevent maximize, class:.*
+
+# Fix some dragging issues with XWayland
+windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf
new file mode 100644
index 0000000..621b26f
--- /dev/null
+++ b/hypr/hyprlock.conf
@@ -0,0 +1,124 @@
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
+# Hyprlock
+# Original config submitted by https://github.com/SherLock707
+
+# Sourcing colors generated by wallust
+source = $HOME/.config/hypr/wallust/wallust-hyprland.conf
+
+general {
+ grace = 1
+}
+
+background {
+ monitor =
+ #path = screenshot # screenshot of your desktop
+ path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_modified # NOTE only png supported for now
+ #color = $color7
+
+ # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
+ blur_size = 5
+ blur_passes = 1 # 0 disables blurring
+ noise = 0.0117
+ contrast = 1.3000 # Vibrant!!!
+ brightness = 0.8000
+ vibrancy = 0.2100
+ vibrancy_darkness = 0.0
+}
+
+input-field {
+ monitor =
+ size = 250, 50
+ outline_thickness = 3
+ dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true
+ outer_color = $color5
+ inner_color = $color0
+ font_color = $color12
+ #fade_on_empty = true
+ placeholder_text = <i>Password...</i> # Text rendered in the input box when it's empty.
+ hide_input = false
+
+ position = 0, 200
+ halign = center
+ valign = bottom
+}
+
+# Date
+label {
+ monitor =
+ text = cmd[update:18000000] echo "<b> "$(date +'%A, %-d %B %Y')" </b>"
+ color = $color12
+ font_size = 34
+ font_family = JetBrains Mono Nerd Font 10
+
+ position = 0, -150
+ halign = center
+ valign = top
+}
+
+# Week
+label {
+ monitor =
+ text = cmd[update:18000000] echo "<b> "$(date +'Week %U')" </b>"
+ color = $color5
+ font_size = 24
+ font_family = JetBrains Mono Nerd Font 10
+ position = 0, -250
+ halign = center
+ valign = top
+}
+
+# Time
+label {
+ monitor =
+ #text = cmd[update:1000] echo "<b><big> $(date +"%I:%M:%S %p") </big></b>" # AM/PM
+ text = cmd[update:1000] echo "<b><big> $(date +"%H:%M:%S") </big></b>" # 24H
+ color = $color15
+ font_size = 94
+ font_family = JetBrains Mono Nerd Font 10
+
+ position = 0, 0
+ halign = center
+ valign = center
+}
+
+# User
+label {
+ monitor =
+ text =  $USER
+ color = $color12
+ font_size = 18
+ font_family = Inter Display Medium
+
+ position = 0, 100
+ halign = center
+ valign = bottom
+}
+
+# weather edit specific location. Note, this cause a 2-4 seconds delay in locking
+label {
+ monitor =
+ text = cmd[update:3600000] [ -f ~/.cache/.weather_cache ] && cat ~/.cache/.weather_cache
+ color = $color12
+ font_size = 24
+ font_family = JetBrains Mono Nerd Font 10
+ position = 50, 0
+ halign = left
+ valign = bottom
+}
+
+# Put a picture of choice here. Default is the current wallpaper
+image {
+ monitor =
+ path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current
+ size = 230
+ rounding = -1
+ border_size = 2
+ border_color = $color11
+ rotate = 0
+ reload_time = -1
+ position = 0, 300
+ halign = center
+ valign = bottom
+}
diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf
new file mode 100644
index 0000000..eb2af1f
--- /dev/null
+++ b/hypr/hyprpaper.conf
@@ -0,0 +1,2 @@
+preload = ~/Pictures/pissarro_3.jpg
+wallpaper = ,~/Pictures/pissarro_3.jpg
diff --git a/kitty/current-theme.conf b/kitty/current-theme.conf
new file mode 100644
index 0000000..014901b
--- /dev/null
+++ b/kitty/current-theme.conf
@@ -0,0 +1,50 @@
+# vim:ft=kitty
+
+## name: Tokyo Night Moon
+## license: MIT
+## author: Folke Lemaitre
+## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_moon.conf
+
+
+background #222436
+foreground #c8d3f5
+selection_background #2d3f76
+selection_foreground #c8d3f5
+url_color #4fd6be
+cursor #c8d3f5
+cursor_text_color #222436
+
+# Tabs
+active_tab_background #82aaff
+active_tab_foreground #1e2030
+inactive_tab_background #2f334d
+inactive_tab_foreground #545c7e
+#tab_bar_background #1b1d2b
+
+# Windows
+active_border_color #82aaff
+inactive_border_color #2f334d
+
+# normal
+color0 #1b1d2b
+color1 #ff757f
+color2 #c3e88d
+color3 #ffc777
+color4 #82aaff
+color5 #c099ff
+color6 #86e1fc
+color7 #828bb8
+
+# bright
+color8 #444a73
+color9 #ff757f
+color10 #c3e88d
+color11 #ffc777
+color12 #82aaff
+color13 #c099ff
+color14 #86e1fc
+color15 #c8d3f5
+
+# extended colors
+color16 #ff966c
+color17 #c53b53
diff --git a/kitty/kitty.conf b/kitty/kitty.conf
new file mode 100644
index 0000000..9b73588
--- /dev/null
+++ b/kitty/kitty.conf
@@ -0,0 +1,18 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+# BEGIN_KITTY_THEME
+# Tokyo Night Moon
+include current-theme.conf
+# END_KITTY_THEME
+
+confirm_os_window_close 0
+cursor_shape block
+cursor_trail 1
+cursor_trail_start_threshold 2
+
+# BEGIN_KITTY_FONTS
+font_family family="IBM Plex Mono"
+bold_font auto
+italic_font auto
+bold_italic_font auto
+# END_KITTY_FONTS
diff --git a/nvim/.gitignore b/nvim/.gitignore
new file mode 100644
index 0000000..e033bc6
--- /dev/null
+++ b/nvim/.gitignore
@@ -0,0 +1 @@
+lazy-lock.json
diff --git a/nvim/init.lua b/nvim/init.lua
new file mode 100644
index 0000000..d911177
--- /dev/null
+++ b/nvim/init.lua
@@ -0,0 +1,117 @@
+vim.g.loaded_netrw = 1
+vim.g.loaded_netrwPlugin = 1
+
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not vim.loop.fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup({
+
+ -- Color Scheme
+ "folke/tokyonight.nvim",
+
+ -- Syntax highlighting
+ 'nvim-treesitter/nvim-treesitter',
+
+ -- Status line
+ 'nvim-lualine/lualine.nvim',
+
+ -- Git
+ 'airblade/vim-gitgutter',
+
+ -- File System
+ 'stevearc/oil.nvim',
+
+ {
+ 'OXY2DEV/markview.nvim',
+ lazy = false,
+ priority = 49,
+
+ },
+
+ -- Telescope
+ {
+ 'nvim-telescope/telescope.nvim',
+ tag = '0.1.5',
+ dependencies = {
+ 'nvim-lua/plenary.nvim',
+ 'sharkdp/fd',
+ { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
+ }
+ },
+
+ -- Icons
+ {
+ "echasnovski/mini.icons",
+ lazy = true,
+ init = function()
+ package.preload["nvim-web-devicons"] = function()
+ require("mini.icons").mock_nvim_web_devicons()
+ return package.loaded["nvim-web-devicons"]
+ end
+ end,
+ },
+})
+
+
+
+-- Colorscheme
+vim.cmd [[colorscheme tokyonight-moon]]
+
+vim.opt.termguicolors = true
+vim.o.background = "dark"
+
+-- Map leader to space
+vim.g.mapleader = ' '
+
+-- Tabs sind für lutscher
+vim.opt.tabstop = 2
+vim.opt.shiftwidth = 2
+vim.o.expandtab = true
+
+-- Numbers on the side
+vim.wo.number = true
+vim.wo.relativenumber = true
+vim.o.ruler = true
+-- Show something in the command line not sure
+vim.o.showcmd = true
+
+-- reload config without restart
+vim.keymap.set('n', '<leader>r', ':so %<CR>')
+
+-- Lualine setup
+require('lualine').setup {
+ options = {
+ icons_enabled = true,
+ theme = 'auto',
+ section_separators = { left = '', right = '' },
+ component_separators = { left = '', right = '' }
+ },
+}
+
+-- Treesitter setup
+require('nvim-treesitter.configs').setup {
+ highlight = { enable = true }
+}
+
+-- Telescope setup
+local telescope = require('telescope')
+telescope.load_extension('fzf')
+vim.keymap.set('n', '<leader>tf', ':Telescope find_files<CR>') -- file search
+vim.keymap.set('n', '<leader>tb', ':Telescope buffers<CR>') -- buffer peak
+vim.keymap.set('n', '<leader>th', ':Telescope help_tags<CR>') -- help menu
+vim.keymap.set('n', '<leader>tt', ':Telescope treesitter <CR>') -- treesitter symbol menu
+vim.keymap.set('n', '<leader>tp', ':Telescope builtin<CR>') -- picker picker lmao
+
+require('oil').setup()
+
+