mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-19 19:27:31 -08:00
add aconfmgr
This commit is contained in:
parent
4781dbeea7
commit
cc42782dff
60
.config/aconfmgr/00-helpers.sh
Normal file
60
.config/aconfmgr/00-helpers.sh
Normal file
@ -0,0 +1,60 @@
|
||||
# Fail if not in Windows Subsystem for Linux
|
||||
function DetectWSL() {
|
||||
grep -i -q microsoft /proc/version &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if not in a container / virtual machine / WSL
|
||||
function DetectVM() {
|
||||
# https://www.freedesktop.org/software/systemd/man/systemd-detect-virt.html
|
||||
systemd-detect-virt --quiet &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if not in VirtualBox
|
||||
function DetectVirtualBox() {
|
||||
systemd-detect-virt | grep -i -q oracle
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if not on an AMD processor
|
||||
function DetectAMD() {
|
||||
grep -i -q AMD /proc/cpuinfo &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if not on an Intel processor
|
||||
function DetectIntel() {
|
||||
grep -i -q Intel /proc/cpuinfo &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if no NVME drives are found
|
||||
function DetectNVME() {
|
||||
find /dev -maxdepth 1 -name '*nvme*' | grep -i -q nvme &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if no AMD GPU is found
|
||||
function DetectAMDGPU() {
|
||||
lspci -v | grep -i 'amd/ati' | grep -i -q 'vga' &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if no Intel GPU is found
|
||||
function DetectIntelGPU() {
|
||||
lspci -v | grep -i 'intel' | grep -i -q 'vga' &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if no Nvidia GPU is found
|
||||
function DetectNvidia() {
|
||||
lspci -v | grep -i -q nvidia &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# Fail if no encrypted devices are listed in /etc/fstab
|
||||
function DetectCrypt() {
|
||||
grep -q '/dev/mapper/' /etc/fstab
|
||||
return $?
|
||||
}
|
36
.config/aconfmgr/00-ignore.sh
Executable file
36
.config/aconfmgr/00-ignore.sh
Executable file
@ -0,0 +1,36 @@
|
||||
# Boot binaries
|
||||
IgnorePath '/boot/*.img'
|
||||
IgnorePath '/boot/*/*.EFI'
|
||||
IgnorePath '/boot/*/*.efi'
|
||||
IgnorePath '/boot/vmlin*'
|
||||
# Certificate databases
|
||||
IgnorePath '/etc/ca-certificates/extracted/*'
|
||||
IgnorePath '/etc/ssl/certs/*'
|
||||
IgnorePath '/etc/pacman.d/gnupg/*'
|
||||
# Cache and generated files
|
||||
IgnorePath '/etc/*.cache'
|
||||
IgnorePath '/etc/*.gen'
|
||||
# Password files
|
||||
IgnorePath '/etc/*shadow*'
|
||||
IgnorePath '/usr/share/*'
|
||||
# Configuration database
|
||||
IgnorePath '/etc/dconf'
|
||||
# Mount files
|
||||
IgnorePath '*/.updated'
|
||||
IgnorePath '*/lost+found/*'
|
||||
# Opt packages (check that they don't include config)
|
||||
IgnorePath '/opt/*'
|
||||
# Binary libraries
|
||||
IgnorePath '/usr/lib/*'
|
||||
# Local binaries
|
||||
IgnorePath '/usr/local/include/*'
|
||||
IgnorePath '/usr/local/lib/*'
|
||||
IgnorePath '/usr/local/share/applications/mimeinfo.cache'
|
||||
# Var databases, logs, swap and temp files
|
||||
IgnorePath '/var/db/sudo'
|
||||
IgnorePath '/var/lib/*'
|
||||
IgnorePath '/var/log/*'
|
||||
IgnorePath '/var/swap*'
|
||||
IgnorePath '/var/tmp/*'
|
||||
# BTRFS snapshots
|
||||
IgnorePath '/.snapshots/*'
|
94
.config/aconfmgr/10-base.sh
Normal file
94
.config/aconfmgr/10-base.sh
Normal file
@ -0,0 +1,94 @@
|
||||
# Minimal system
|
||||
AddPackage archlinux-keyring # Arch Linux PGP keyring
|
||||
AddPackage base # Minimal package set to define a basic Arch Linux installation
|
||||
CreateFile /etc/ld.so.preload >/dev/null
|
||||
CopyFile /etc/locale.conf
|
||||
CopyFile /etc/locale.gen
|
||||
CreateLink /etc/localtime /usr/share/zoneinfo/America/Los_Angeles
|
||||
|
||||
# Package management
|
||||
AddPackageGroup base-devel # Required for building AUR packages
|
||||
AddPackage --foreign aconfmgr-git # A configuration manager for Arch Linux
|
||||
AddPackage pacman-contrib # Contributed scripts and tools for pacman systems
|
||||
AddPackage --foreign paru # Feature packed AUR helper
|
||||
AddPackage pkgfile # a pacman .files metadata explorer
|
||||
AddPackage reflector # A Python 3 module and script to retrieve and filter the latest Pacman mirror list.
|
||||
CopyFile /etc/makepkg.conf
|
||||
CopyFile /etc/pacman.conf
|
||||
|
||||
|
||||
# Default kernel
|
||||
AddPackage linux # The Linux kernel and modules
|
||||
AddPackage linux-headers # Headers and scripts for building modules for the Linux kernel
|
||||
|
||||
# Zen kernel
|
||||
AddPackage linux-zen # The Linux kernel and modules
|
||||
AddPackage linux-zen-headers # Headers and scripts for building modules for the Linux kernel
|
||||
|
||||
# Backup kernel
|
||||
AddPackage linux-lts # The LTS Linux kernel and modules
|
||||
AddPackage linux-lts-headers # Headers and scripts for building modules for the LTS Linux kernel
|
||||
|
||||
# Boot
|
||||
AddPackage --foreign systemd-boot-pacman-hook # Pacman hook to upgrade systemd-boot after systemd upgrade.
|
||||
|
||||
# Firmware
|
||||
AddPackage linux-firmware # Firmware files for Linux
|
||||
|
||||
# EFI filesystem support
|
||||
AddPackage exfat-utils # Utilities for exFAT file system
|
||||
|
||||
# Main filesystem support
|
||||
AddPackage e2fsprogs # Ext2/3/4 filesystem utilities
|
||||
|
||||
if ! DetectVM; then
|
||||
|
||||
# Processor support
|
||||
DetectAMD && AddPackage amd-ucode # Microcode update image for AMD CPUs
|
||||
DetectIntel && AddPackage intel-ucode # Microcode update files for Intel CPUs
|
||||
|
||||
# Hardware support
|
||||
AddPackage fwupd # Simple daemon to allow session software to update firmware
|
||||
DetectNVME && AddPackage nvme-cli # NVM-Express user space tooling for Linux
|
||||
|
||||
# Extra file system support... just in case
|
||||
AddPackage afpfs-ng # A client for the Apple Filing Protocol (AFP)
|
||||
AddPackage btrfs-progs # Btrfs filesystem utilities
|
||||
AddPackage dosfstools # DOS filesystem utilities
|
||||
AddPackage f2fs-tools # Tools for Flash-Friendly File System (F2FS)
|
||||
AddPackage jfsutils # JFS filesystem utilities
|
||||
AddPackage kbfs # The Keybase filesystem
|
||||
AddPackage mtools # A collection of utilities to access MS-DOS disks
|
||||
AddPackage mtpfs # A FUSE filesystem that supports reading and writing from any MTP device
|
||||
AddPackage nilfs-utils # A log-structured file system supporting continuous snapshotting (userspace utils)
|
||||
AddPackage ntfs-3g # NTFS filesystem driver and utilities
|
||||
AddPackage reiserfsprogs # Reiserfs utilities
|
||||
AddPackage squashfs-tools # Tools for squashfs, a highly compressed read-only filesystem for Linux.
|
||||
AddPackage sysfsutils # System Utilities Based on Sysfs
|
||||
AddPackage truecrypt # Free open-source cross-platform disk encryption software
|
||||
AddPackage xfsprogs # XFS filesystem utilities
|
||||
|
||||
# Sensors
|
||||
AddPackage lm_sensors # Collection of user space tools for general SMBus access and hardware monitoring
|
||||
CreateLink /etc/systemd/system/multi-user.target.wants/lm_sensors.service /usr/lib/systemd/system/lm_sensors.service
|
||||
fi
|
||||
fi
|
||||
|
||||
# Reduce timeouts to sane values
|
||||
cat >>"$(GetPackageOriginalFile systemd /etc/systemd/system.conf)" <<-EOF
|
||||
RuntimeWatchdogSec=10min
|
||||
ShutdownWatchdogSec=10min
|
||||
DefaultTimeoutStartSec=30s
|
||||
DefaultTimeoutStopSec=30s
|
||||
EOF
|
||||
|
||||
# Arch linux enables these GPG agent systemd user sockets by default
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/dirmngr.socket /usr/lib/systemd/user/dirmngr.socket
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/gpg-agent-browser.socket /usr/lib/systemd/user/gpg-agent-browser.socket
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/gpg-agent-extra.socket /usr/lib/systemd/user/gpg-agent-extra.socket
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/gpg-agent.socket /usr/lib/systemd/user/gpg-agent.socket
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/gpg-agent-ssh.socket /usr/lib/systemd/user/gpg-agent-ssh.socket
|
||||
|
||||
# Network Time Protocol
|
||||
CreateLink /etc/systemd/system/dbus-org.freedesktop.timesync1.service /usr/lib/systemd/system/systemd-timesyncd.service
|
||||
CreateLink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service /usr/lib/systemd/system/systemd-timesyncd.service
|
34
.config/aconfmgr/10-network.sh
Normal file
34
.config/aconfmgr/10-network.sh
Normal file
@ -0,0 +1,34 @@
|
||||
# Firewall
|
||||
CreateLink /etc/systemd/system/multi-user.target.wants/iptables.service /usr/lib/systemd/system/iptables.service
|
||||
|
||||
# NetworkManager
|
||||
AddPackage networkmanager # Network connection manager and user applications
|
||||
CreateLink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service /usr/lib/systemd/system/NetworkManager.service
|
||||
CreateLink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service /usr/lib/systemd/system/NetworkManager-dispatcher.service
|
||||
CreateLink /etc/systemd/system/multi-user.target.wants/NetworkManager.service /usr/lib/systemd/system/NetworkManager.service
|
||||
|
||||
# Tools
|
||||
AddPackage iproute2 # IP Routing Utilities
|
||||
AddPackage zerotier-one # Creates virtual Ethernet networks of almost unlimited size.
|
||||
AddPackage wireguard-tools # next generation secure network tunnel - tools for configuration
|
||||
|
||||
# Hosts file
|
||||
cat >>"$(GetPackageOriginalFile filesystem /etc/hosts)" <<-EOF
|
||||
127.0.0.1 localhost $HOSTNAME
|
||||
::1 localhost $HOSTNAME
|
||||
EOF
|
||||
|
||||
# SSH
|
||||
AddPackage sshfs # FUSE client based on the SSH File Transfer Protocol
|
||||
CreateLink /etc/systemd/system/multi-user.target.wants/sshd.service /usr/lib/systemd/system/sshd.service
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/gcr-ssh-agent.socket /usr/lib/systemd/user/gcr-ssh-agent.socket
|
||||
|
||||
## SSH server configuration hardening
|
||||
sshd_conf="$(GetPackageOriginalFile openssh /etc/ssh/sshd_config)"
|
||||
sed -i 's/^#LoginGraceTime.*$/LoginGraceTime 30s/g' "$sshd_conf"
|
||||
sed -i 's/^#PermitRootLogin.*$/PermitRootLogin no/g' "$sshd_conf"
|
||||
sed -i 's/^MaxAuthTries.*$/MaxAuthTries 3/g' "$sshd_conf"
|
||||
sed -i 's/^MaxSessions.*$/MaxSessions 5/g' "$sshd_conf"
|
||||
sed -i 's/^#PasswordAuthentication.*$/PasswordAuthentication no/g' "$sshd_conf"
|
||||
sed -i 's/^KbdInteractiveAuthentication.*$/KbdInteractiveAuthentication no/g' "$sshd_conf"
|
||||
sed -i 's/^AllowAgentForwarding.*$/AllowAgentForwarding no/g' "$sshd_conf"
|
9
.config/aconfmgr/10-peripherals.sh
Normal file
9
.config/aconfmgr/10-peripherals.sh
Normal file
@ -0,0 +1,9 @@
|
||||
# Nvidia Drivers
|
||||
AddPackage lib32-nvidia-utils # NVIDIA drivers utilities 32 bit
|
||||
AddPackage nvidia-dkms # NVIDIA drivers - module sources
|
||||
AddPackage nvidia-settings # Tool for configuring the NVIDIA graphics driver
|
||||
AddPackage nvidia-utils # NVIDIA drivers utilities
|
||||
|
||||
# Android Phone
|
||||
AddPackage android-file-transfer # Android MTP client with minimalistic UI
|
||||
AddPackage kdeconnect # Adds communication between KDE and your smartphone
|
23
.config/aconfmgr/10-virtualization.sh
Normal file
23
.config/aconfmgr/10-virtualization.sh
Normal file
@ -0,0 +1,23 @@
|
||||
if ! DetectVM; then
|
||||
AddPackage libvirt # API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)
|
||||
AddPackage dmidecode # OPTIONAL DEPENDENCY (libvirt)
|
||||
AddPackage dnsmasq # OPTIONAL DEPENDENCY (libvirt)
|
||||
AddPackage --foreign ebtables # OPTIONAL DEPENDENCY (libvirt)
|
||||
AddPackage gettext # OPTIONAL DEPENDENCY (libvirt)
|
||||
AddPackage lvm2 # OPTIONAL DEPENDENCY (libvirt)
|
||||
AddPackage openbsd-netcat # OPTIONAL DEPENDENCY (libvirt)
|
||||
AddPackage qemu # OPTIONAL DEPENDENCY (libvirt)
|
||||
|
||||
AddPackage edk2-ovmf # Firmware for Virtual Machines (x86_64, i686)
|
||||
AddPackage qemu-arch-extra # QEMU for foreign architectures
|
||||
AddPackage swtpm # Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface
|
||||
AddPackage virt-manager # Desktop user interface for managing virtual machines
|
||||
AddPackage virt-viewer # A lightweight interface for interacting with the graphical display of virtualized guest OS.
|
||||
AddPackage --foreign virtio-win # virtio drivers for Windows (2000, XP, Vista, 7, 8, 10) guests and floppy images for Windows XP
|
||||
|
||||
CreateLink /etc/systemd/system/multi-user.target.wants/libvirtd.service /usr/lib/systemd/system/libvirtd.service
|
||||
CreateLink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket /usr/lib/systemd/system/libvirtd-ro.socket
|
||||
CreateLink /etc/systemd/system/sockets.target.wants/libvirtd.socket /usr/lib/systemd/system/libvirtd.socket
|
||||
CreateLink /etc/systemd/system/sockets.target.wants/virtlockd.socket /usr/lib/systemd/system/virtlockd.socket
|
||||
CreateLink /etc/systemd/system/sockets.target.wants/virtlogd.socket /usr/lib/systemd/system/virtlogd.socket
|
||||
fi
|
51
.config/aconfmgr/20-cliapps.sh
Normal file
51
.config/aconfmgr/20-cliapps.sh
Normal file
@ -0,0 +1,51 @@
|
||||
# Terminal Emulators
|
||||
AddPackage alacritty # A cross-platform, GPU-accelerated terminal emulator
|
||||
AddPackage screen # Full-screen window manager that multiplexes a physical terminal
|
||||
AddPackage zsh # A very advanced and programmable command interpreter (shell) for UNIX
|
||||
|
||||
# System Monitor
|
||||
AddPackage bashtop # Linux resource monitor
|
||||
|
||||
# Build Tools
|
||||
AddPackage autoconf # A GNU tool for automatically configuring source code
|
||||
AddPackage automake # A GNU tool for automatically creating Makefiles
|
||||
AddPackage binutils # A set of programs to assemble and manipulate binary and object files
|
||||
AddPackage pkgconf # Package compiler and linker metadata toolkit
|
||||
|
||||
# Desktop Tools
|
||||
AddPackage imwheel # Mouse wheel configuration tool for XFree86/Xorg
|
||||
|
||||
# Gaming
|
||||
AddPackage gamemode # A daemon/lib combo that allows games to request a set of optimisations be temporarily applied to the host OS
|
||||
|
||||
# Dev Tools
|
||||
AddPackage git # the fast distributed version control system
|
||||
AddPackage --foreign platformio # A cross-platform code builder and library manager
|
||||
|
||||
# Archives
|
||||
AddPackage arj # Free and portable clone of the ARJ archiver
|
||||
AddPackage cabextract # A program to extract Microsoft cabinet (.CAB) files
|
||||
AddPackage cpio # A tool to copy files into or out of a cpio or tar archive
|
||||
AddPackage lhasa # Free LZH/LHA archive tool
|
||||
AddPackage lrzip # Multi-threaded compression with rzip/lzma, lzo, and zpaq
|
||||
AddPackage pax # Portable Archive Interchange - the POSIX standard archive tool for cpio and tar formats
|
||||
AddPackage p7zip # Command-line file archiver with high compression ratio
|
||||
AddPackage rpmextract # Script to convert or extract RPM archives (contains rpm2cpio)
|
||||
AddPackage sharutils # Makes so-called shell archives out of many files
|
||||
AddPackage unace # An extraction tool for the proprietary ace archive format
|
||||
AddPackage unrar # The RAR uncompression program
|
||||
AddPackage unzip # For extracting and viewing files in .zip archives
|
||||
AddPackage zip # Compressor/archiver for creating and modifying zipfiles
|
||||
|
||||
# $EDITOR
|
||||
AddPackage neovim # Fork of Vim aiming to improve user experience, plugins, and GUIs
|
||||
AddPackage --foreign emacs-native-comp-git-enhanced # GNU Emacs. Development master branch.
|
||||
|
||||
# File Management
|
||||
AddPackage rsync # A fast and versatile file copying tool for remote and local files
|
||||
AddPackage smbclient # Tools to access a server's filespace and printers via SMB
|
||||
AddPackage trash-cli # Command line trashcan (recycle bin) interface
|
||||
AddPackage vifm # A file manager with curses interface, which provides Vi[m]-like environment
|
||||
|
||||
# Dotfile Management
|
||||
AddPackage stow # Manage installation of multiple softwares in the same directory tree
|
12
.config/aconfmgr/30-audio.sh
Normal file
12
.config/aconfmgr/30-audio.sh
Normal file
@ -0,0 +1,12 @@
|
||||
if ! DetectVM; then # No audio needed in VMs
|
||||
AddPackage alsa-utils # Advanced Linux Sound Architecture - Utilities
|
||||
AddPackage pipewire # Low-latency audio/video router and processor
|
||||
AddPackage pipewire-alsa # Low-latency audio/video router and processor - ALSA configuration
|
||||
AddPackage pipewire-pulse # Low-latency audio/video router and processor - PulseAudio replacement
|
||||
AddPackage wireplumber # Session / policy manager implementation for PipeWire
|
||||
|
||||
CreateLink /etc/systemd/user/pipewire.service.wants/wireplumber.service /usr/lib/systemd/user/wireplumber.service
|
||||
CreateLink /etc/systemd/user/pipewire-session-manager.service /usr/lib/systemd/user/wireplumber.service
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/pipewire.socket /usr/lib/systemd/user/pipewire.socket
|
||||
CreateLink /etc/systemd/user/sockets.target.wants/pipewire-pulse.socket /usr/lib/systemd/user/pipewire-pulse.socket
|
||||
fi
|
17
.config/aconfmgr/30-desktop.sh
Normal file
17
.config/aconfmgr/30-desktop.sh
Normal file
@ -0,0 +1,17 @@
|
||||
AddPackage xorg-server # Xorg X server
|
||||
AddPackage xorg-server-xephyr # A nested X server that runs as an X application
|
||||
AddPackage xorg-xev # Print contents of X events
|
||||
AddPackage xorg-xinit # X.Org initialisation program
|
||||
AddPackage xorg-xsetroot # Classic X utility to set your root window background to a given pattern or color
|
||||
AddPackage xorg-xwayland # run X clients under wayland
|
||||
AddPackage picom # X compositor that may fix tearing issues
|
||||
AddPackage rofi # A window switcher, application launcher and dmenu replacement
|
||||
AddPackage lxappearance # Feature-rich GTK+ theme switcher of the LXDE Desktop
|
||||
AddPackage lxsession # Lightweight X11 session manager
|
||||
AddPackage flameshot # Powerful yet simple to use screenshot software
|
||||
AddPackage feh # Fast and light imlib2-based image viewer
|
||||
AddPackage dunst # Customizable and lightweight notification-daemon
|
||||
AddPackage xarchiver # GTK+ frontend to various command line archivers
|
||||
AddPackage --foreign xmobar-git # Minimalistic Text Based Status Bar
|
||||
AddPackage --foreign xmonad-contrib-git # Add-ons for xmonad
|
||||
AddPackage --foreign xmonad-git # Lightweight X11 tiled window manager written in Haskell
|
1
.config/aconfmgr/30-font.sh
Normal file
1
.config/aconfmgr/30-font.sh
Normal file
@ -0,0 +1 @@
|
||||
AddPackage --foreign nerd-fonts-complete # Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts.
|
4
.config/aconfmgr/30-services.sh
Normal file
4
.config/aconfmgr/30-services.sh
Normal file
@ -0,0 +1,4 @@
|
||||
# Files
|
||||
AddPackage syncthing # Open Source Continuous Replication / Cluster Synchronization Thing
|
||||
CreateLink /etc/systemd/system/multi-user.target.wants/syncthing@tstarr.service /usr/lib/systemd/system/syncthing@.service
|
||||
AddPackage udiskie # Removable disk automounter using udisks
|
13
.config/aconfmgr/40-guiapps.sh
Normal file
13
.config/aconfmgr/40-guiapps.sh
Normal file
@ -0,0 +1,13 @@
|
||||
AddPackage discord # All-in-one voice and text chat for gamers that's free and secure.
|
||||
AddPackage firefox # Standalone web browser from mozilla.org
|
||||
AddPackage gparted # A Partition Magic clone, frontend to GNU Parted
|
||||
AddPackage keepassxc # Cross-platform community-driven port of Keepass password manager
|
||||
AddPackage lutris # Open Gaming Platform
|
||||
AddPackage mpv # a free, open source, and cross-platform media player
|
||||
AddPackage nitrogen # Background browser and setter for X windows
|
||||
AddPackage openscad # The programmers solid 3D CAD modeller
|
||||
AddPackage pcmanfm # Extremely fast and lightweight file manager
|
||||
AddPackage steam # Valve's digital software delivery system
|
||||
AddPackage wine-staging # A compatibility layer for running Windows programs - Staging branch
|
||||
AddPackage --foreign brave-bin # Web browser that blocks ads and trackers by default (binary release)
|
||||
AddPackage --foreign superslicer-prerelease-bin # G-code generator for 3D printers (Creality, RepRap, Makerbot, Ultimaker etc.) (binary AppImage)
|
1
.config/aconfmgr/files/etc/locale.conf
Normal file
1
.config/aconfmgr/files/etc/locale.conf
Normal file
@ -0,0 +1 @@
|
||||
LANG=en_US.UTF-8
|
1
.config/aconfmgr/files/etc/locale.gen
Normal file
1
.config/aconfmgr/files/etc/locale.gen
Normal file
@ -0,0 +1 @@
|
||||
en_US.UTF-8 UTF-8
|
158
.config/aconfmgr/files/etc/makepkg.conf
Normal file
158
.config/aconfmgr/files/etc/makepkg.conf
Normal file
@ -0,0 +1,158 @@
|
||||
#!/hint/bash
|
||||
#
|
||||
# /etc/makepkg.conf
|
||||
#
|
||||
|
||||
#########################################################################
|
||||
# SOURCE ACQUISITION
|
||||
#########################################################################
|
||||
#
|
||||
#-- The download utilities that makepkg should use to acquire sources
|
||||
# Format: 'protocol::agent'
|
||||
DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u'
|
||||
'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
|
||||
'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
|
||||
'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
|
||||
'rsync::/usr/bin/rsync --no-motd -z %u %o'
|
||||
'scp::/usr/bin/scp -C %u %o')
|
||||
|
||||
# Other common tools:
|
||||
# /usr/bin/snarf
|
||||
# /usr/bin/lftpget -c
|
||||
# /usr/bin/wget
|
||||
|
||||
#-- The package required by makepkg to download VCS sources
|
||||
# Format: 'protocol::package'
|
||||
VCSCLIENTS=('bzr::bzr'
|
||||
'fossil::fossil'
|
||||
'git::git'
|
||||
'hg::mercurial'
|
||||
'svn::subversion')
|
||||
|
||||
#########################################################################
|
||||
# ARCHITECTURE, COMPILE FLAGS
|
||||
#########################################################################
|
||||
#
|
||||
CARCH="x86_64"
|
||||
CHOST="x86_64-pc-linux-gnu"
|
||||
|
||||
#-- Compiler and Linker Flags
|
||||
#CPPFLAGS=""
|
||||
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
||||
-fstack-clash-protection -fcf-protection"
|
||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||
#RUSTFLAGS="-C opt-level=2"
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
MAKEFLAGS="-j8"
|
||||
#-- Debugging flags
|
||||
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
|
||||
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
|
||||
#DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||
|
||||
#########################################################################
|
||||
# BUILD ENVIRONMENT
|
||||
#########################################################################
|
||||
#
|
||||
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
|
||||
# A negated environment option will do the opposite of the comments below.
|
||||
#
|
||||
#-- distcc: Use the Distributed C/C++/ObjC compiler
|
||||
#-- color: Colorize output messages
|
||||
#-- ccache: Use ccache to cache compilation
|
||||
#-- check: Run the check() function if present in the PKGBUILD
|
||||
#-- sign: Generate PGP signature file
|
||||
#
|
||||
BUILDENV=(!distcc color !ccache check !sign)
|
||||
#
|
||||
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
|
||||
#-- specify a space-delimited list of hosts running in the DistCC cluster.
|
||||
#DISTCC_HOSTS=""
|
||||
#
|
||||
#-- Specify a directory for package building.
|
||||
#BUILDDIR=/tmp/makepkg
|
||||
|
||||
#########################################################################
|
||||
# GLOBAL PACKAGE OPTIONS
|
||||
# These are default values for the options=() settings
|
||||
#########################################################################
|
||||
#
|
||||
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
|
||||
# A negated option will do the opposite of the comments below.
|
||||
#
|
||||
#-- strip: Strip symbols from binaries/libraries
|
||||
#-- docs: Save doc directories specified by DOC_DIRS
|
||||
#-- libtool: Leave libtool (.la) files in packages
|
||||
#-- staticlibs: Leave static library (.a) files in packages
|
||||
#-- emptydirs: Leave empty directories in packages
|
||||
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
|
||||
#-- purge: Remove files specified by PURGE_TARGETS
|
||||
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
||||
#-- lto: Add compile flags for building with link time optimization
|
||||
#
|
||||
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)
|
||||
|
||||
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
|
||||
INTEGRITY_CHECK=(sha256)
|
||||
#-- Options to be used when stripping binaries. See `man strip' for details.
|
||||
STRIP_BINARIES="--strip-all"
|
||||
#-- Options to be used when stripping shared libraries. See `man strip' for details.
|
||||
STRIP_SHARED="--strip-unneeded"
|
||||
#-- Options to be used when stripping static libraries. See `man strip' for details.
|
||||
STRIP_STATIC="--strip-debug"
|
||||
#-- Manual (man and info) directories to compress (if zipman is specified)
|
||||
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
|
||||
#-- Doc directories to remove (if !docs is specified)
|
||||
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
|
||||
#-- Files to be removed from all packages (if purge is specified)
|
||||
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
|
||||
#-- Directory to store source code in for debug packages
|
||||
DBGSRCDIR="/usr/src/debug"
|
||||
|
||||
#########################################################################
|
||||
# PACKAGE OUTPUT
|
||||
#########################################################################
|
||||
#
|
||||
# Default: put built package and cached source in build directory
|
||||
#
|
||||
#-- Destination: specify a fixed directory where all packages will be placed
|
||||
#PKGDEST=/home/packages
|
||||
#-- Source cache: specify a fixed directory where source files will be cached
|
||||
#SRCDEST=/home/sources
|
||||
#-- Source packages: specify a fixed directory where all src packages will be placed
|
||||
#SRCPKGDEST=/home/srcpackages
|
||||
#-- Log files: specify a fixed directory where all log files will be placed
|
||||
#LOGDEST=/home/makepkglogs
|
||||
#-- Packager: name/email of the person or organization building packages
|
||||
#PACKAGER="John Doe <john@doe.com>"
|
||||
#-- Specify a key to use for package signing
|
||||
#GPGKEY=""
|
||||
|
||||
#########################################################################
|
||||
# COMPRESSION DEFAULTS
|
||||
#########################################################################
|
||||
#
|
||||
COMPRESSGZ=(gzip -c -f -n)
|
||||
COMPRESSBZ2=(bzip2 -c -f)
|
||||
COMPRESSXZ=(xz -c -z -)
|
||||
COMPRESSZST=(zstd -c -z -q -)
|
||||
COMPRESSLRZ=(lrzip -q)
|
||||
COMPRESSLZO=(lzop -q)
|
||||
COMPRESSZ=(compress -c -f)
|
||||
COMPRESSLZ4=(lz4 -q)
|
||||
COMPRESSLZ=(lzip -c -f)
|
||||
|
||||
#########################################################################
|
||||
# EXTENSION DEFAULTS
|
||||
#########################################################################
|
||||
#
|
||||
PKGEXT='.pkg.tar.zst'
|
||||
SRCEXT='.src.tar.gz'
|
||||
|
||||
#########################################################################
|
||||
# OTHER
|
||||
#########################################################################
|
||||
#
|
||||
#-- Command used to run pacman as root, instead of trying sudo and su
|
||||
#PACMAN_AUTH=()
|
100
.config/aconfmgr/files/etc/pacman.conf
Normal file
100
.config/aconfmgr/files/etc/pacman.conf
Normal file
@ -0,0 +1,100 @@
|
||||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
#Color
|
||||
#NoProgressBar
|
||||
CheckSpace
|
||||
#VerbosePkgLists
|
||||
#ParallelDownloads = 5
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[community-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
# enable the multilib repositories as required here.
|
||||
|
||||
#[multilib-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
2
.config/aconfmgr/files/etc/resolv.conf
Normal file
2
.config/aconfmgr/files/etc/resolv.conf
Normal file
@ -0,0 +1,2 @@
|
||||
nameserver 8.8.8.8
|
||||
nameserver 8.8.4.4
|
@ -59,6 +59,7 @@
|
||||
- [[#searching][Searching]]
|
||||
- [[#end][End]]
|
||||
- [[#bindings][Bindings]]
|
||||
- [[#roam][Roam]]
|
||||
- [[#beancount][Beancount]]
|
||||
- [[#avy][Avy]]
|
||||
- [[#expand-region][Expand Region]]
|
||||
@ -105,6 +106,7 @@
|
||||
- [[#buffer][Buffer]]
|
||||
- [[#dired][Dired]]
|
||||
- [[#exwm][EXWM]]
|
||||
- [[#roam][Roam]]
|
||||
- [[#desktop][Desktop]]
|
||||
- [[#exwm-and-system-informationals][EXWM and System Informationals]]
|
||||
- [[#exwm-modeline][EXWM Modeline]]
|
||||
@ -363,6 +365,7 @@ Add lexical binding tag to top of config file.
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
;; -*- lexical-binding: t -*-
|
||||
(setq comp-deferred-compilation t)
|
||||
|
||||
#+end_src
|
||||
|
||||
@ -398,8 +401,8 @@ Setup package management. Some lines can be uncommented for fresh installs.
|
||||
(package-initialize)
|
||||
|
||||
; Uncomment for fresh install
|
||||
;(package-refresh-contents)
|
||||
;(package-install 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package)
|
||||
|
||||
(require 'use-package)
|
||||
(require 'use-package-ensure)
|
||||
@ -489,11 +492,11 @@ Dial the GC threshold back down so that garbage collection happens more frequent
|
||||
;; Make gc pauses faster by decreasing the threshold.
|
||||
(setq gc-cons-threshold (* 2 1000 1000))
|
||||
|
||||
(use-package benchmark-init
|
||||
:ensure t
|
||||
:config
|
||||
;; To disable collection of benchmark data after init is done.
|
||||
(add-hook 'after-init-hook 'benchmark-init/deactivate))
|
||||
;(use-package benchmark-init
|
||||
; :ensure t
|
||||
; :config
|
||||
; ;; To disable collection of benchmark data after init is done.
|
||||
; (add-hook 'after-init-hook 'benchmark-init/deactivate))
|
||||
|
||||
#+end_src
|
||||
|
||||
@ -860,6 +863,7 @@ based on the prefix keys you entered. Learned about this one from Spacemacs.
|
||||
:defer 1)
|
||||
|
||||
#+end_src
|
||||
|
||||
* Editing
|
||||
** General
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
@ -913,7 +917,7 @@ Set up Org Mode with a baseline configuration. The following sections will add
|
||||
(setq evil-auto-indent nil)
|
||||
(diminish org-indent-mode))
|
||||
|
||||
(use-package org
|
||||
(use-package org-plus-contrib
|
||||
:defer t
|
||||
:hook (org-mode . dw/org-mode-setup)
|
||||
:config
|
||||
@ -1218,6 +1222,41 @@ Use bullet characters instead of asterisks, plus set the header font sizes to so
|
||||
|
||||
#+end_src
|
||||
|
||||
** Roam
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(use-package org-roam
|
||||
:straight (:host github :repo "org-roam/org-roam"
|
||||
:files (:defaults "extensions/*"))
|
||||
:init
|
||||
(setq org-roam-v2-ack t) ;; Turn off v2 warning
|
||||
(add-to-list 'display-buffer-alist
|
||||
'("\\*org-roam\\*"
|
||||
(display-buffer-in-direction)
|
||||
(direction . right)
|
||||
(window-width . 0.33)
|
||||
(window-height . fit-window-to-buffer)))
|
||||
(org-roam-db-autosync-mode)
|
||||
:custom
|
||||
(org-roam-directory (file-truename "/home/tstarr/documents/org/roam"))
|
||||
(org-roam-dailies-directory "daily/")
|
||||
(org-roam-completion-everywhere t)
|
||||
:bind
|
||||
(("C-c r b" . org-roam-buffer-toggle)
|
||||
("C-c r t" . org-roam-dailies-goto-today)
|
||||
("C-c r y" . org-roam-dailies-goto-yesterday)
|
||||
("C-M-n" . org-roam-node-insert)
|
||||
:map org-mode-map
|
||||
("C-M-i" . completion-at-point)
|
||||
("C-M-f" . org-roam-node-find)
|
||||
("C-M-c" . dl/org-roam-create-id)
|
||||
("C-<left>" . org-roam-dailies-goto-previous-note)
|
||||
("C-`" . org-roam-buffer-toggle)
|
||||
("C-<right>" . org-roam-dailies-goto-next-note)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Beancount
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
@ -1325,7 +1364,25 @@ Use burly to bookmark layouts and Emacs state.
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(use-package burly)
|
||||
;(use-package burly)
|
||||
|
||||
(use-package perspective
|
||||
:ensure t ; use `:straight t` if using straight.el!
|
||||
:bind (("C-x k" . persp-kill-buffer*))
|
||||
:init
|
||||
(persp-mode))
|
||||
|
||||
(use-package bufler
|
||||
:straight (bufler :fetcher github :repo "alphapapa/bufler.el"
|
||||
:files (:defaults (:exclude "helm-bufler.el"))))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Frames only mode
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(use-package frames-only-mode)
|
||||
|
||||
#+end_src
|
||||
|
||||
@ -1508,6 +1565,117 @@ https://magit.vc/manual/magit/
|
||||
|
||||
#+end_src
|
||||
|
||||
** Treemacs
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(with-eval-after-load 'winum
|
||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||
:config
|
||||
(progn
|
||||
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||
treemacs-deferred-git-apply-delay 0.5
|
||||
treemacs-directory-name-transformer #'identity
|
||||
treemacs-display-in-side-window t
|
||||
treemacs-eldoc-display 'simple
|
||||
treemacs-file-event-delay 5000
|
||||
treemacs-file-extension-regex treemacs-last-period-regex-value
|
||||
treemacs-file-follow-delay 0.2
|
||||
treemacs-file-name-transformer #'identity
|
||||
treemacs-follow-after-init t
|
||||
treemacs-expand-after-init t
|
||||
treemacs-find-workspace-method 'find-for-file-or-pick-first
|
||||
treemacs-git-command-pipe ""
|
||||
treemacs-goto-tag-strategy 'refetch-index
|
||||
treemacs-indentation 2
|
||||
treemacs-indentation-string " "
|
||||
treemacs-is-never-other-window nil
|
||||
treemacs-max-git-entries 5000
|
||||
treemacs-missing-project-action 'ask
|
||||
treemacs-move-forward-on-expand nil
|
||||
treemacs-no-png-images nil
|
||||
treemacs-no-delete-other-windows t
|
||||
treemacs-project-follow-cleanup nil
|
||||
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
|
||||
treemacs-position 'left
|
||||
treemacs-read-string-input 'from-child-frame
|
||||
treemacs-recenter-distance 0.1
|
||||
treemacs-recenter-after-file-follow nil
|
||||
treemacs-recenter-after-tag-follow nil
|
||||
treemacs-recenter-after-project-jump 'always
|
||||
treemacs-recenter-after-project-expand 'on-distance
|
||||
treemacs-litter-directories '("/node_modules" "/.venv" "/.cask")
|
||||
treemacs-show-cursor nil
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-silent-filewatch nil
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-sorting 'alphabetic-asc
|
||||
treemacs-select-when-already-in-treemacs 'move-back
|
||||
treemacs-space-between-root-nodes t
|
||||
treemacs-tag-follow-cleanup t
|
||||
treemacs-tag-follow-delay 1.5
|
||||
treemacs-text-scale nil
|
||||
treemacs-user-mode-line-format nil
|
||||
treemacs-user-header-line-format nil
|
||||
treemacs-wide-toggle-width 70
|
||||
treemacs-width 35
|
||||
treemacs-width-increment 1
|
||||
treemacs-width-is-initially-locked t
|
||||
treemacs-workspace-switch-cleanup nil)
|
||||
|
||||
;; The default width and height of the icons is 22 pixels. If you are
|
||||
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||
;;(treemacs-resize-icons 44)
|
||||
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
|
||||
(pcase (cons (not (null (executable-find "git")))
|
||||
(not (null treemacs-python-executable)))
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple)))
|
||||
|
||||
(treemacs-hide-gitignored-files-mode nil))
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t d" . treemacs-select-directory)
|
||||
("C-x t B" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
|
||||
(use-package treemacs-evil
|
||||
:after (treemacs evil)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:after (treemacs projectile)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:hook (dired-mode . treemacs-icons-dired-enable-once)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-magit
|
||||
:after (treemacs magit)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-perspective ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:after (treemacs perspective) ;;or perspective vs. persp-mode
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Languages
|
||||
*** Haskell
|
||||
|
||||
@ -2884,6 +3052,20 @@ Define SPC lead bindings for EXWM.
|
||||
|
||||
#+end_src
|
||||
|
||||
** Roam
|
||||
|
||||
Define SPC lead bindings for Roam.
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
|
||||
(dw/leader-key-def
|
||||
"r" '(:ignore t :which-key "roam")
|
||||
"rt" '(org-roam-buffer-toggle :which-key "toggle roam buffer")
|
||||
"rf" '(org-roam-node-find :which-key "find node")
|
||||
"ri" '(org-roam-node-insert :which-key "insert node"))
|
||||
|
||||
#+end_src
|
||||
|
||||
* Desktop
|
||||
|
||||
#+begin_src emacs-lisp :tangle (if (member this-system system-category-1) "~/.emacs.d/init.el" "no")
|
||||
@ -2894,7 +3076,7 @@ Define SPC lead bindings for EXWM.
|
||||
|
||||
(defun ts/update-screen-layout ()
|
||||
(interactive)
|
||||
(let ((layout-script "~/.config/scratch/scripts/update-screens"))
|
||||
(let ((layout-script "~/.config/scratch/scripts/update-screens apt"))
|
||||
(message "Running screen layout script: %s" layout-script)
|
||||
(start-process-shell-command "xrandr" nil layout-script)))
|
||||
|
||||
@ -2949,7 +3131,7 @@ Define SPC lead bindings for EXWM.
|
||||
(exwm-randr-enable)
|
||||
|
||||
;; Set the default number of workspaces
|
||||
(setq exwm-workspace-number 2)
|
||||
(setq exwm-workspace-number 6)
|
||||
(setq exwm-workspace-index-map
|
||||
(lambda (index) (number-to-string (1+ index))))
|
||||
(setq exwm-layout-show-all-buffers t)
|
||||
@ -2990,6 +3172,22 @@ Define SPC lead bindings for EXWM.
|
||||
;; Ctrl+Q will enable the next key to be sent directly
|
||||
(define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key)
|
||||
|
||||
(defun ts/move-float-up ()
|
||||
(interactive)
|
||||
(exwm-floating-move 0 1))
|
||||
|
||||
(defun ts/move-float-down ()
|
||||
(interactive)
|
||||
(exwm-floating-move 0 -1))
|
||||
|
||||
(defun ts/move-float-left ()
|
||||
(interactive)
|
||||
(exwm-floating-move -1 0))
|
||||
|
||||
(defun ts/move-float-right ()
|
||||
(interactive)
|
||||
(exwm-floating-move 1 0))
|
||||
|
||||
;; Set up global key bindings. These always work, no matter the input state!
|
||||
;; Keep in mind that changing this list after EXWM initializes has no effect.
|
||||
(setq exwm-input-global-keys
|
||||
@ -3008,6 +3206,11 @@ Define SPC lead bindings for EXWM.
|
||||
([?\s-K] . enlarge-window)
|
||||
([?\s-J] . shrink-window)
|
||||
|
||||
([?\s-u] . ts/move-float-left)
|
||||
([?\s-i] . ts/move-float-up)
|
||||
([?\s-o] . ts/move-float-down)
|
||||
([?\s-p] . ts/move-float-right)
|
||||
|
||||
;; Launch applications via shell command
|
||||
([?\s-w] . counsel-linux-app)
|
||||
|
||||
@ -3024,7 +3227,7 @@ Define SPC lead bindings for EXWM.
|
||||
(exwm-workspace-switch-create , (1- i)))))
|
||||
(number-sequence 0 9))))
|
||||
|
||||
(setq exwm-randr-workspace-monitor-plist '(1 "HDMI-0"))
|
||||
(setq exwm-randr-workspace-monitor-plist '(3 "HDMI-0" 4 "HDMI-0" 5 "HDMI-0"))
|
||||
|
||||
(use-package exwm-mff
|
||||
:straight (:host github :repo "starr-dusT/exwm-mff")
|
||||
@ -3041,6 +3244,7 @@ Define SPC lead bindings for EXWM.
|
||||
(tab-bar-mode)
|
||||
;(add-hook 'after-make-frame-functions (lambda (frame) (set-frame-parameter frame 'tab-bar-lines 0)))
|
||||
|
||||
|
||||
#+end_src
|
||||
|
||||
** EXWM and System Informationals
|
||||
|
@ -1,27 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Get current IP address
|
||||
addr=$(ip -4 addr show $1 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
|
||||
# The the relevant number (X) 192.168.X.YYY
|
||||
num=($(echo "$addr" | tr '.' '\n'))
|
||||
# Based on number set xrandr
|
||||
case ${num[2]} in
|
||||
2)
|
||||
case $1 in
|
||||
"home")
|
||||
# Primary monitor on left
|
||||
xrandr --output DP-4 --primary \
|
||||
--mode 2560x1440 --rate 144 \
|
||||
--pos 0x0 --rotate normal \
|
||||
--output HDMI-0 \
|
||||
--mode 2560x1440 --rate 144 \
|
||||
--pos 2660x0 --rotate normal
|
||||
--pos 2560x0 --rotate normal
|
||||
;;
|
||||
1)
|
||||
"apt")
|
||||
# Primary monitor on right
|
||||
xrandr --output HDMI-0 \
|
||||
--mode 2560x1440 --rate 144 \
|
||||
--pos 0x0 --rotate normal \
|
||||
--output DP-4 --primary \
|
||||
--mode 2560x1440 --rate 144 \
|
||||
--pos 2660x0 --rotate normal
|
||||
--pos 2560x0 --rotate normal
|
||||
;;
|
||||
esac
|
||||
|
13
.config/systemd/user/emacs.service
Normal file
13
.config/systemd/user/emacs.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Emacs text editor
|
||||
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/emacs --fg-daemon
|
||||
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
|
||||
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
@ -1,7 +1,7 @@
|
||||
Config { font = "xft:Mononoki Nerd Font:pixelsize=12:antialias=true:hinting=true"
|
||||
, bgColor = "#282828"
|
||||
, fgColor = "#ebdbb2"
|
||||
, position = Static {xpos = 2560, ypos = 0, width = 2560, height = 20}
|
||||
, position = Static {xpos = 0, ypos = 0, width = 2560, height = 20}
|
||||
, iconRoot = "X"
|
||||
, allDesktops = True
|
||||
, commands = [ Run Cpu ["-t", " <fc=#fb4934><total></fc>%","-H", "2"] 10
|
||||
|
55
.programs/pacman.txt
Normal file
55
.programs/pacman.txt
Normal file
@ -0,0 +1,55 @@
|
||||
base-devel
|
||||
alacritty
|
||||
amd-ucode
|
||||
balena-etcher
|
||||
bashtop
|
||||
brave-bin
|
||||
dhcpcd
|
||||
discord
|
||||
dunst
|
||||
feh
|
||||
flameshot
|
||||
gamemode
|
||||
git
|
||||
gparted
|
||||
imwheel
|
||||
keepassxc
|
||||
lutris
|
||||
lxappearance
|
||||
lxsession
|
||||
mpv
|
||||
neovim
|
||||
nerd-fonts-complete
|
||||
nitrogen
|
||||
lib32-nvidia-utils
|
||||
nvidia-dkms
|
||||
nvidia-settings
|
||||
nvidia-utils
|
||||
openscad
|
||||
openssh
|
||||
pcmanfm
|
||||
picom
|
||||
platformio
|
||||
reflector
|
||||
rofi
|
||||
rsync
|
||||
smbclient
|
||||
steam
|
||||
stow
|
||||
superslicer-prerelease-bin
|
||||
syncthing
|
||||
trash-cli
|
||||
udiskie
|
||||
vifm
|
||||
wine-staging
|
||||
wireguard-tools
|
||||
xarchiver
|
||||
xorg-server
|
||||
xorg-server-xephyr
|
||||
xorg-xev
|
||||
xorg-xinit
|
||||
xorg-xsetroot
|
||||
xorg-xwayland
|
||||
yay
|
||||
zsh
|
||||
herbsluftwm
|
@ -1,2 +1,4 @@
|
||||
\.git
|
||||
readme.md
|
||||
\.config/systemd
|
||||
install.sh
|
||||
|
4
.xinitrc
4
.xinitrc
@ -1,6 +1,6 @@
|
||||
#exec dbus-launch xmonad
|
||||
exec dbus-launch xmonad
|
||||
#exec qtile start
|
||||
#picom &
|
||||
exec dbus-launch --exit-with-session emacs -mm --eval "(exwm-enable)"
|
||||
#exec dbus-launch --exit-with-session emacs -mm --eval "(exwm-enable)"
|
||||
#--debug-init
|
||||
#exec stumpwm start
|
||||
|
@ -145,7 +145,7 @@ myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
|
||||
t = 0.15 -h
|
||||
l = 0.55 -w
|
||||
|
||||
spawnEmacs = "emacs --eval '(set-frame-name \"scratch-emacs\")'"
|
||||
spawnEmacs = "emacsclient -c -n -e --eval '(set-frame-name \"scratch-emacs\")'"
|
||||
findEmacs = title =? "scratch-emacs"
|
||||
manageEmacs = customFloating $ W.RationalRect l t w h
|
||||
where
|
||||
@ -236,7 +236,7 @@ myKeys home =
|
||||
-- Spawn flameshot
|
||||
, ("M-o c" , spawn "flameshot gui")
|
||||
-- Spawn emacs
|
||||
, ("M-o e" , spawn "emacs")
|
||||
, ("M-o e" , spawn "emacsclient -c -n -e '(switch-to-buffer nil)'")
|
||||
|
||||
--------------------------------------------------
|
||||
-- System Utils
|
||||
|
2
install.sh
Normal file
2
install.sh
Normal file
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
|
Loading…
x
Reference in New Issue
Block a user