Initializing repository, adding makefile, packages list, i3config, vimrc, vim colorschemen and wallpaper.

This commit is contained in:
Ananke 2024-04-25 20:08:38 +02:00
commit 95c538ed3a
7 changed files with 542 additions and 0 deletions

0
README.md Normal file
View file

43
forest_refuge.vim Normal file
View file

@ -0,0 +1,43 @@
" save & test ':so %'
" reset highlighting
highlight clear
" set default colors
if exists ("syntax_on")
syntax reset
endif
" set background variable
set background=dark
" naming color scheme
let colors_name = "forest_refuge"
" set new highlighting
" normal text foreground, background
hi Normal ctermfg=gray guifg=SeaGreen4 guibg=Black
" synthax highlighting (:help group-name)
hi Comment cterm=NONE ctermfg=darkgreen gui=NONE guifg=honeydew
hi Constant cterm=NONE ctermfg=lightgreen gui=NONE guifg=cornsilk4
hi Identifier cterm=NONE ctermfg=darkred gui=NONE guifg=LavenderBlush1
hi Function cterm=bold ctermfg=cyan gui=NONE guifg=DarkSalmon
hi Statement cterm=bold ctermfg=green gui=NONE guifg=chocolate4
hi PreProc cterm=bold ctermfg=yellow gui=NONE guifg=DarkSeaGreen1
hi Type cterm=bold ctermfg=magenta gui=NONE guifg=OldLace
hi Special cterm=bold ctermfg=lightred gui=NONE guifg=brown
hi Delimiter cterm=NONE ctermfg=brown gui=NONE guifg=tomato
hi Error cterm=underline ctermbg=red ctermfg=yellow guifg=orange

234
i3config Executable file
View file

@ -0,0 +1,234 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
# Tilde expands to the users home directory:
#include ~/.config/i3/assignments.conf
# Environment variables are expanded:
#include $HOME/.config/i3/assignments.conf
# Wildcards are expanded:
#include ~/.config/i3/config.d/*.conf
# Command substitution:
#include ~/.config/i3/`hostname`.conf
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+t exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# enable floating mode for all XTerm windows
for_window [class="XTerm"] floating enable
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
# Create Log out, Reboot, Poweroff bindings
mode "(S)uspend, (L)ogout, (R)eboot, (P)oweroff" {
bindsym r exec --no-startup-id systemctl reboot
bindsym s exec --no-startup-id systemctl suspend; mode "default"
bindsym l exit
bindsym p exec --no-startup-id systemctl poweroff
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+e mode "(S)uspend, (L)ogout, (R)eboot, (P)oweroff"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
}
# set wallpaper
# change coloring
# class border backgr. text indicator child_border
client.focused #a3553c #b86637 #feffff #8b5e99 #3f1b1d
client.focused_inactive #6f2d33 #4f3d3b #ffffff #484e50 #6e364f
client.unfocused #6f2d33 #532528 #d0949f #292d2e #4e3a3a
client.urgent #c54842 #ce8369 #feffff #fef7f4 #900000
client.placeholder #000000 #bf908a #feffff #000000 #bf908a
client.background #201817
# start geany
bindsym $mod+Control+e exec geany
# start firefox
bindsym $mod+Control+f exec firefox
# start chromium
bindsym $mod+Control+c exec chromium

BIN
kraut.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 KiB

32
makefile Executable file
View file

@ -0,0 +1,32 @@
#!/usr/bin/make -f
# Change the default shell /bin/sh which does not implement 'source'
# source is needed to work in a python virtualenv
SHELL := /bin/bash
##############################
build:
# Build the live system/ISO image↵
sudo lb clean --all
sudo lb config --image-name CEPHEUS- --hdd-label CEPHEUS --debian-installer live --archive-areas main non-free-firmware
#sudo lb config --debug --distribution bookworm --backports true --archive-areas "main contrib non-free non-free-firmware" --hdd-label CEPHEUS-bookworm --uefi-secure-boot disable --image-name CEPHEUS-bookworm --linux-packages "linux-image linux-headers"i
#lb config --debug --debian-installer live --distribution bookworm --backports true --archive-areas "main contrib non-free non-free-firmware" --uefi-secure-boot disable --hdd-label CEPHEUS --image-name CEPHEUS-bookworm --linux-packages "linux-image linux-headers"
# configure installer
echo "debian-installer-launcher" > config/package-lists/installer.list.chroot
echo "d-i debian-installer/locale string en_UK" > config/includes.installer/preseed.cfg
# add packages
cat packages.list > config/package-lists/desktop.list.chroot
# add User-Config
mkdir -p config/includes.chroot/etc/skel/.vim/colors
mkdir -p config/includes.chroot/etc/skel/.config/i3
cp i3config config/includes.chroot/etc/skel/.config/i3/config
cp kraut.png config/includes.chroot/etc/skel/.config/i3/
cp vimrc config/includes.chroot/etc/skel/.vim/.vimrc
#cp /etc/vim/vimrc config/includes.chroot/etc/skel/.vimrc
cp forest_refuge.vim config/includes.chroot/etc/skel/.vim/colors/
#cp /usr/share/vim/vim81/colors/forest_refuge.vim config/includes.chroot/etc/skel/
echo "exec --no-startup-id feh --bg-scale /home/user/.config/i3/kraut.png" >>config/includes.chroot/etc/skel/.config/i3/config
# modify grub -> not in VM with QEMU??
cp -r /usr/share/live/build/bootloaders config/
cp kraut.png config/bootloaders/grub-pc/splash.png
sudo lb build 2>&1 | tee build.log

83
packages.list Executable file
View file

@ -0,0 +1,83 @@
debian-keyring
debsecan
debsums
packagekit
packagekit-tools
unattended-upgrades
apt-file
apt-listbugs
debian-security-support
packagekit-command-not-found
htop
strace
usbview
sysstat
dstat
memtester
lshw
memtest86+
rsync
ranger
rsbackup
fsarchiver
timeshift
parted
gdisk
gparted
dosfstools
baobab
ecryptfs-utils
exfatprogs
disk-filltest
apparmor
apparmor-profiles
apparmor-utils
sudo
xorg
xinit
xfonts-base
xfonts-scalable
xserver-xorg
xserver-xorg-input-all
xserver-xorg-core
xserver-xorg-input-wacom
xserver-xorg-input-aiptek
xserver-xorg-input-elographics
xserver-xorg-input-joystick
xserver-xorg-input-kbd
xserver-xorg-input-mouse
xserver-xorg-input-multitouch
xserver-xorg-input-synaptics
xserver-xorg-legacy
xserver-xorg-video-all
xserver-xorg-video-intel
xserver-xorg-video-amdgpu
xserver-xorg-video-ati
xserver-xorg-video-fbdev
xserver-xorg-video-nouveau
xfonts-base
hwdata
dkms
build-essential
systemd
os-prober
initramfs-tools
console-setup
user-setup
libpam-systemd
kexec-tools
kthresher
driverctl
i3
feh
i3blocks
i3status
sakura
dunst
rofi
firefox-esr-l10n-de
chromium
vim
grub-efi
calamares
calamares-settings-debian

150
vimrc Normal file
View file

@ -0,0 +1,150 @@
set shell=/bin/bash
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
" set rtp+=~/.vim/bundle/Vundle.vim
#call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
#Plugin 'VundleVim/Vundle.vim'
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
#Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
#Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
#Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
#Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.
" Plugin 'ascenator/L9', {'name': 'newL9'}
" Plugin youcompleteme
#Plugin 'git://github.com/ycm-core/YouCompleteMe.git'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
" the call to :runtime you can find below. If you wish to change any of those
" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
" will be overwritten everytime an upgrade of the vim packages is performed.
" It is recommended to make changes after sourcing debian.vim since it alters
" the value of the 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim
" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
"let g:skip_defaults_vim = 1
" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
set background=dark
" Uncomment the following to have Vim jump to the last position when
" reopening a file
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
filetype plugin indent on
filetype indent on
" set filetyp manually for rust -> errors?
"if &filetyp ==# 'rs'
" setfiletyp='rust'
"endif
"if &filetyp ==# 'py'
" setfiletyp='python'
"endif
" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
set autowrite " Automatically save before commands like :next and :make
set hidden " Hide buffers when they are abandoned
" set mouse=a " Enable mouse usage (all modes)
" enable clipboard
set clipboard=unnamed
" Y for copy into clipboard, y 'normal yank'
nnoremap Y "+y
vnoremap Y "+y
nnoremap yY ^"+y$
" automatically trigger copy
set guioptions+=a
" line number
set number
" make shortcut
nnoremap <F9> :!%:p
" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif
" always wrap long lines
set wrap
" define function
function! Myfunc()
echo "Hello World!"
endfunction
" colorscheme
colo forest_refuge
" automatically run with apropriate languages from file-type
autocmd FileType python map <buffer> <F5> :w <CR> :exec '!python3' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <F5> <esc> :w <CR> : exec '!python3' shellescape(@%, 1)<CR>