mirror of
https://github.com/ellmau/nixos.git
synced 2025-12-19 09:29:36 +01:00
first nicely running config
This commit is contained in:
parent
b45aad9bea
commit
9ba2b79441
48
.gitignore
vendored
Normal file
48
.gitignore
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# -*- mode: gitignore; -*-
|
||||||
|
*~
|
||||||
|
\#*\#
|
||||||
|
/.emacs.desktop
|
||||||
|
/.emacs.desktop.lock
|
||||||
|
*.elc
|
||||||
|
auto-save-list
|
||||||
|
tramp
|
||||||
|
.\#*
|
||||||
|
|
||||||
|
# Org-mode
|
||||||
|
.org-id-locations
|
||||||
|
*_archive
|
||||||
|
|
||||||
|
# flymake-mode
|
||||||
|
*_flymake.*
|
||||||
|
|
||||||
|
# eshell files
|
||||||
|
/eshell/history
|
||||||
|
/eshell/lastdir
|
||||||
|
|
||||||
|
# elpa packages
|
||||||
|
/elpa/
|
||||||
|
|
||||||
|
# reftex files
|
||||||
|
*.rel
|
||||||
|
|
||||||
|
# AUCTeX auto folder
|
||||||
|
/auto/
|
||||||
|
|
||||||
|
# cask packages
|
||||||
|
.cask/
|
||||||
|
dist/
|
||||||
|
|
||||||
|
# Flycheck
|
||||||
|
flycheck_*.el
|
||||||
|
|
||||||
|
# server auth directory
|
||||||
|
/server/
|
||||||
|
|
||||||
|
# projectiles files
|
||||||
|
.projectile
|
||||||
|
|
||||||
|
# directory configuration
|
||||||
|
.dir-locals.el
|
||||||
|
|
||||||
|
# network security
|
||||||
|
/network-security.data
|
||||||
@ -9,6 +9,7 @@
|
|||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./programs/emacs
|
./programs/emacs
|
||||||
|
./programs/aspell.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
@ -53,10 +54,16 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
rofi # launcher
|
rofi # launcher
|
||||||
polybar # bar
|
polybarFull # bar
|
||||||
i3lock # lock screen
|
i3lock # lock screen
|
||||||
|
xss-lock
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
services.blueman.enable = true;
|
||||||
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
@ -89,7 +96,7 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
# Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
#emacs
|
#emacs
|
||||||
aspell
|
#aspell
|
||||||
emacs-all-the-icons-fonts
|
emacs-all-the-icons-fonts
|
||||||
wget
|
wget
|
||||||
firefox
|
firefox
|
||||||
@ -101,18 +108,13 @@
|
|||||||
rustup
|
rustup
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
usbutils
|
usbutils
|
||||||
starship
|
gcc
|
||||||
|
clang
|
||||||
];
|
];
|
||||||
|
|
||||||
#services.emacs.enable = true;
|
#services.emacs.enable = true;
|
||||||
#services.emacs.defaultEditor = true;
|
#services.emacs.defaultEditor = true;
|
||||||
|
|
||||||
#nixpkgs.overlays = [
|
|
||||||
# (import (builtins.fetchTarball {
|
|
||||||
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
|
||||||
# }))
|
|
||||||
#];
|
|
||||||
|
|
||||||
environment.shells = [ pkgs.zsh ];
|
environment.shells = [ pkgs.zsh ];
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
|
||||||
|
|||||||
245
home/config/i3/config
Normal file
245
home/config/i3/config
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
# 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).
|
||||||
|
#
|
||||||
|
|
||||||
|
# initialise kwallet via pam
|
||||||
|
#exec --no-startup-id /usr/lib/pam_kwallet_init
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
#font pango:monospace 11
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# ssh agent
|
||||||
|
#exec .config/plasma-workspace/env/ssh-agent-startup.sh
|
||||||
|
|
||||||
|
# keepass
|
||||||
|
#exec .config/old-autostart-scripts/keepassxc.sh
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Mod Ctrl d for display resetting
|
||||||
|
#bindsym $mod+Ctrl+d exec --no-startup-id $HOME/.config/i3/set_xrandr.zsh
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
#export TERMINAL=/usr/bin/alacritty
|
||||||
|
#bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
bindsym $mod+Return exec /run/current-system/sw/bin/alacritty
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
bindsym Mod1+Tab exec "rofi -show window"
|
||||||
|
|
||||||
|
# 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 :gen"
|
||||||
|
set $ws2 "2: web"
|
||||||
|
set $ws3 "3: misc"
|
||||||
|
set $ws4 "4: comms"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9: secondary"
|
||||||
|
set $ws10 "10: secondary"
|
||||||
|
|
||||||
|
|
||||||
|
workspace 1 output primary
|
||||||
|
workspace 2 output primary
|
||||||
|
workspace 3 output primary
|
||||||
|
workspace 4 output primary
|
||||||
|
#workspace 9 output eDP-1
|
||||||
|
#workspace 10 output eDP-1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
#bar {
|
||||||
|
# status_command i3status-rs ~/.config/i3status-rust/config.toml
|
||||||
|
# position top
|
||||||
|
#}
|
||||||
|
#exec_always --no-startup-id polybar
|
||||||
|
exec_always --no-startup-id systemctl --user start polybar.service
|
||||||
|
|
||||||
|
# lockscreen
|
||||||
|
set $i3lockwall i3lock -f -t --nofork #-i ~/Pictures/matrix-manjaro.png --nofork
|
||||||
|
|
||||||
|
# shutdown / restart / suspend...
|
||||||
|
set $mode_system System (l) lock, (CTRL+e) logout, (CTRL+r) reboot, (CTRL+s) shutdown
|
||||||
|
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id $i3lockwall, mode "default"
|
||||||
|
bindsym Ctrl+e exec --no-startup-id i3-msg exit, mode "default"
|
||||||
|
#bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default"
|
||||||
|
#bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default"
|
||||||
|
bindsym Ctrl+r exec --no-startup-id systemctl reboot, mode "default"
|
||||||
|
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+BackSpace mode "$mode_system"
|
||||||
|
|
||||||
|
# keyboard layout toggle
|
||||||
|
bindsym Mod1+space exec --no-startup-id .config/i3/keyboard_layout_toggle.sh
|
||||||
|
|
||||||
|
# application specific stuff
|
||||||
|
for_window[class="KeePassXC"] floating enable
|
||||||
|
#assign [class="KeePassXC"] $ws5
|
||||||
|
#for_window[class="Thunderbird"] move workspace $ws4
|
||||||
|
#for_window[class="Element"] move workspace $ws4
|
||||||
|
|
||||||
|
# autostart normal programs
|
||||||
|
#exec --not-startup-id i3-msg 'workspace 4:comms; exec element-desktop'
|
||||||
|
#exec --not-startup-id i3-msg 'workspace 4:comms; exec thunderbird'
|
||||||
|
#exec --no-startup-id element-desktop
|
||||||
|
#exec --no-startup-id thunderbird
|
||||||
245
home/config/i3/config~
Normal file
245
home/config/i3/config~
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
# 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).
|
||||||
|
#
|
||||||
|
|
||||||
|
# initialise kwallet via pam
|
||||||
|
#exec --no-startup-id /usr/lib/pam_kwallet_init
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
#font pango:monospace 11
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# ssh agent
|
||||||
|
#exec .config/plasma-workspace/env/ssh-agent-startup.sh
|
||||||
|
|
||||||
|
# keepass
|
||||||
|
#exec .config/old-autostart-scripts/keepassxc.sh
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Mod Ctrl d for display resetting
|
||||||
|
#bindsym $mod+Ctrl+d exec --no-startup-id $HOME/.config/i3/set_xrandr.zsh
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
#export TERMINAL=/usr/bin/alacritty
|
||||||
|
#bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
bindsym $mod+Return exec /run/current-system/sw/bin/alacritty
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
bindsym Mod1+Tab exec "rofi -show window"
|
||||||
|
|
||||||
|
# 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 :gen"
|
||||||
|
set $ws2 "2: web"
|
||||||
|
set $ws3 "3: misc"
|
||||||
|
set $ws4 "4: comms"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9: secondary"
|
||||||
|
set $ws10 "10: secondary"
|
||||||
|
|
||||||
|
|
||||||
|
workspace 1 output primary
|
||||||
|
workspace 2 output primary
|
||||||
|
workspace 3 output primary
|
||||||
|
workspace 4 output primary
|
||||||
|
#workspace 9 output eDP-1
|
||||||
|
#workspace 10 output eDP-1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
#bar {
|
||||||
|
# status_command i3status-rs ~/.config/i3status-rust/config.toml
|
||||||
|
# position top
|
||||||
|
#}
|
||||||
|
#exec_always --no-startup-id polybar
|
||||||
|
exec_always --no-startup-id systemctl --user start polybar.service
|
||||||
|
|
||||||
|
# lockscreen
|
||||||
|
set $i3lockwall i3lock -f -t --nofork #-i ~/Pictures/matrix-manjaro.png --nofork
|
||||||
|
|
||||||
|
# shutdown / restart / suspend...
|
||||||
|
set $mode_system System (l) lock, (CTRL+e) logout, (CTRL+r) reboot, (CTRL+s) shutdown
|
||||||
|
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id $i3lockwall, mode "default"
|
||||||
|
bindsym Ctrl+e exec --no-startup-id i3-msg exit, mode "default"
|
||||||
|
#bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default"
|
||||||
|
#bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default"
|
||||||
|
bindsym Ctrl+r exec --no-startup-id systemctl reboot, mode "default"
|
||||||
|
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+BackSpace mode "$mode_system"
|
||||||
|
|
||||||
|
# keyboard layout toggle
|
||||||
|
bindsym Mod1+space exec --no-startup-id .config/i3/keyboard_layout_toggle.sh
|
||||||
|
|
||||||
|
# application specific stuff
|
||||||
|
for_window[class="KeePassXC"] floating enable
|
||||||
|
#assign [class="KeePassXC"] $ws5
|
||||||
|
#for_window[class="Thunderbird"] move workspace $ws4
|
||||||
|
#for_window[class="Element"] move workspace $ws4
|
||||||
|
|
||||||
|
# autostart normal programs
|
||||||
|
#exec --not-startup-id i3-msg 'workspace 4:comms; exec element-desktop'
|
||||||
|
#exec --not-startup-id i3-msg 'workspace 4:comms; exec thunderbird'
|
||||||
|
#exec --no-startup-id element-desktop
|
||||||
|
#exec --no-startup-id thunderbird
|
||||||
7
home/config/i3/keyboard_layout_toggle.sh
Executable file
7
home/config/i3/keyboard_layout_toggle.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [[ `setxkbmap -query | awk '$1 == "layout:"{print($2)}'` = "us" ]]; then
|
||||||
|
setxkbmap -layout de
|
||||||
|
else
|
||||||
|
setxkbmap -layout us
|
||||||
|
fi
|
||||||
38
home/config/nixpkgs/dunst.nix
Normal file
38
home/config/nixpkgs/dunst.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{ pkgs, ...}:
|
||||||
|
{
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.numix-icon-theme;
|
||||||
|
name = "Numix";
|
||||||
|
size = "26";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
geometry = "300x5-30+50";
|
||||||
|
transparency = 10;
|
||||||
|
frame_color = "#839496";
|
||||||
|
font = "Hasklug Nerd Font 10";
|
||||||
|
timeout = 5;
|
||||||
|
follow = "mouse";
|
||||||
|
markup = "full";
|
||||||
|
icon_position = "left";
|
||||||
|
history_length = 32;
|
||||||
|
dmenu = "${pkgs.rofi}/bin/rofi -dmenu";
|
||||||
|
word_wrap = true;
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
foreground = "#fdf6e3";
|
||||||
|
background = "#dc322f";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
foreground = "#fdf6e3";
|
||||||
|
background = "#859900";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
foreground = "#fdf6e3";
|
||||||
|
background = "#2aa198";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
38
home/config/nixpkgs/dunst.nix~
Normal file
38
home/config/nixpkgs/dunst.nix~
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{ pkgs, ...}:
|
||||||
|
{
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.numix-icon-theme;
|
||||||
|
name = "Numix";
|
||||||
|
size = "24";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
geometry = "300x5-30+50";
|
||||||
|
transparency = 10;
|
||||||
|
frame_color = "#839496";
|
||||||
|
font = "Hasklug Nerd Font 10";
|
||||||
|
timeout = 5;
|
||||||
|
follow = "mouse";
|
||||||
|
markup = "full";
|
||||||
|
icon_position = "left";
|
||||||
|
history_length = 32;
|
||||||
|
dmenu = "${pkgs.rofi}/bin/rofi -dmenu";
|
||||||
|
word_wrap = true;
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
foreground = "#fdf6e3";
|
||||||
|
background = "#dc322f";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
foreground = "#fdf6e3";
|
||||||
|
background = "#859900";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
foreground = "#fdf6e3";
|
||||||
|
background = "#2aa198";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
24
home/config/nixpkgs/home.nix
Normal file
24
home/config/nixpkgs/home.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./polybar.nix
|
||||||
|
./dunst.nix
|
||||||
|
./zsh.nix
|
||||||
|
];
|
||||||
|
home.packages = [
|
||||||
|
pkgs.htop
|
||||||
|
pkgs.pavucontrol
|
||||||
|
];
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
services.network-manager-applet.enable = true ;
|
||||||
|
services.gnome-keyring = {
|
||||||
|
enable = true;
|
||||||
|
components = [ "pkcs11" "secrets" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.home-manager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
57
home/config/nixpkgs/home.nix~
Normal file
57
home/config/nixpkgs/home.nix~
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./polybar.nix
|
||||||
|
];
|
||||||
|
home.packages = [
|
||||||
|
pkgs.htop
|
||||||
|
pkgs.pavucontrol
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = false;
|
||||||
|
format = "$all";
|
||||||
|
username.show_always = false;
|
||||||
|
git_commit.tag_disabled = false;
|
||||||
|
hostname.ssh_only = false;
|
||||||
|
directory.truncate_to_repo = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.network-manager-applet.enable = true ;
|
||||||
|
services.gnome-keyring = {
|
||||||
|
enable = true;
|
||||||
|
components = [ "pkcs11" "secrets" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
defaultKeymap = "emacs";
|
||||||
|
oh-my-zsh.enable = false;
|
||||||
|
# remove extra stuff on the right side of the prompt
|
||||||
|
initExtra = ''
|
||||||
|
unset RPS1
|
||||||
|
# Color man pages
|
||||||
|
export LESS_TERMCAP_mb=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_md=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_me=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_se=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_so=$'\E[01;47;34m'
|
||||||
|
export LESS_TERMCAP_ue=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_us=$'\E[01;36m'
|
||||||
|
export LESS=-R
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.exa.enable = true;
|
||||||
|
programs.exa.enableAliases = false;
|
||||||
|
|
||||||
|
programs.home-manager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
265
home/config/nixpkgs/polybar.nix
Normal file
265
home/config/nixpkgs/polybar.nix
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
{ pkgs, ...}:
|
||||||
|
{
|
||||||
|
services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.polybarFull;
|
||||||
|
settings =
|
||||||
|
let
|
||||||
|
background_col = "#120030";
|
||||||
|
foreground_col = "#9e66ff";
|
||||||
|
foreground_altcol = "#66deff";
|
||||||
|
primary_col = "#ffb52a";
|
||||||
|
secondary_col = "#e60053";
|
||||||
|
alert_col = "#bd2c40";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"bar/main" = {
|
||||||
|
font = [
|
||||||
|
"Hasklig:style=Regular"
|
||||||
|
"all-the-icons:style=Regular"
|
||||||
|
"Webdings:style=Regular"
|
||||||
|
"Noto Emoji:scale=10"
|
||||||
|
"Unifont:style=Regular"
|
||||||
|
"Material Icons:size=12;0"
|
||||||
|
"Weather Icons:size=12;0"
|
||||||
|
"Hasklug Nerd Font,Hasklig Medium:style=Medium,Regular"
|
||||||
|
];
|
||||||
|
modules = {
|
||||||
|
left = "i3";
|
||||||
|
center = "";
|
||||||
|
right = " xbacklight xkeyboard eth wlan battery date powermenu volume ";
|
||||||
|
};
|
||||||
|
|
||||||
|
background = background_col;
|
||||||
|
foreground = foreground_col;
|
||||||
|
|
||||||
|
monitor = ''
|
||||||
|
''${env:MONITOR:}
|
||||||
|
'';
|
||||||
|
width = "100%";
|
||||||
|
module-margin = 1;
|
||||||
|
tray = {
|
||||||
|
position = "right";
|
||||||
|
padding = 2;
|
||||||
|
background = foreground_col;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"module/volume" = {
|
||||||
|
type = "internal/pulseaudio";
|
||||||
|
format.volume = "<ramp-volume> <label-volume>";
|
||||||
|
label.muted.text = "🔇";
|
||||||
|
label.muted.foreground = "#666";
|
||||||
|
ramp.volume = ["🔈" "🔉" "🔊"];
|
||||||
|
click.right = "${pkgs.pavucontrol}/bin/pavucontrol &";
|
||||||
|
};
|
||||||
|
"module/i3" = {
|
||||||
|
type = "internal/i3";
|
||||||
|
format = "<label-state> <label-mode>";
|
||||||
|
index-sort = "true";
|
||||||
|
wrapping-scroll = "false";
|
||||||
|
|
||||||
|
#; Only show workspaces on the same output as the bar
|
||||||
|
pin-workspaces = "true";
|
||||||
|
|
||||||
|
label-mode-padding = "2";
|
||||||
|
label-mode-foreground = "#000";
|
||||||
|
label-mode-background = primary_col;
|
||||||
|
|
||||||
|
#; focused = Active workspace on focused monitor
|
||||||
|
label-focused = "%name%";
|
||||||
|
#;label-focused-background = ${colors.background-alt}
|
||||||
|
#;label-focused-background = #9f78e1
|
||||||
|
label-focused-background = foreground_col;
|
||||||
|
label-focused-underline= primary_col;
|
||||||
|
label-focused-foreground = "#cccccc";
|
||||||
|
label-focused-padding = "2";
|
||||||
|
|
||||||
|
#; unfocused = Inactive workspace on any monitor
|
||||||
|
label-unfocused = "%name%";
|
||||||
|
label-unfocused-padding = "2";
|
||||||
|
|
||||||
|
#; visible = Active workspace on unfocused monitor
|
||||||
|
label-visible = "%index%";
|
||||||
|
label-visible-background = "#6c419a";
|
||||||
|
label-visible-underline = primary_col;
|
||||||
|
label-visible-padding = 2;
|
||||||
|
|
||||||
|
#; urgent = Workspace with urgency hint set
|
||||||
|
label-urgent = "%name%";
|
||||||
|
label-urgent-background = alert_col;
|
||||||
|
label-urgent-padding = "2";
|
||||||
|
|
||||||
|
#; Separator in between workspaces
|
||||||
|
#; label-separator = |
|
||||||
|
};
|
||||||
|
"module/xkeyboard" = {
|
||||||
|
type = "internal/xkeyboard";
|
||||||
|
blacklist-0 = "num lock";
|
||||||
|
interval = "5";
|
||||||
|
|
||||||
|
format-prefix = ''""'';
|
||||||
|
format-prefix-foreground = foreground_altcol;
|
||||||
|
format-prefix-underline = secondary_col;
|
||||||
|
|
||||||
|
label-layout = "%layout%";
|
||||||
|
label-layout-underline = secondary_col;
|
||||||
|
|
||||||
|
label-indicator-padding = "2";
|
||||||
|
label-indicator-margin = "1";
|
||||||
|
label-indicator-background = secondary_col;
|
||||||
|
label-indicator-underline = secondary_col;
|
||||||
|
};
|
||||||
|
"module/wlan" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "wlp0s20f3";
|
||||||
|
interval = "3.0";
|
||||||
|
|
||||||
|
format-connected = " <ramp-signal> <label-connected>";
|
||||||
|
format-connected-underline = "#9f78e1";
|
||||||
|
label-connected = "%essid%";
|
||||||
|
|
||||||
|
ramp-signal-0 = ''"0.0"'';
|
||||||
|
ramp-signal-1 = ''"0.5"'';
|
||||||
|
ramp-signal-2 = ''"1.0"'';
|
||||||
|
ramp-signal-3 = ''"1.0"'';
|
||||||
|
ramp-signal-4 = ''"1.0"'';
|
||||||
|
|
||||||
|
format-disconnected = "";
|
||||||
|
# ;format-disconnected = <label-disconnected>
|
||||||
|
#;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
#;label-disconnected = %ifname% disconnected
|
||||||
|
#;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
|
||||||
|
ramp-signal-foreground = foreground_altcol;
|
||||||
|
};
|
||||||
|
"module/eth" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "eno1";
|
||||||
|
interval = "3.0";
|
||||||
|
|
||||||
|
format-connected-underline = "#55aa55";
|
||||||
|
format-connected = " <label-connected>";
|
||||||
|
format-connected-prefix-foreground = foreground_altcol;
|
||||||
|
label-connected = "%local_ip%";
|
||||||
|
|
||||||
|
format-disconnected = "";
|
||||||
|
format-disconnected-background = "#5479b7";
|
||||||
|
#;format-disconnected = <label-disconnected>
|
||||||
|
#;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
#;label-disconnected = %ifname% disconnected
|
||||||
|
#;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
};
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
interval = "5";
|
||||||
|
|
||||||
|
date = ''" %Y-%m-%d"'';
|
||||||
|
date-alt = ''" %Y-%m-%d"'';
|
||||||
|
|
||||||
|
time = "%H:%M";
|
||||||
|
time-alt = "%H:%M:%S";
|
||||||
|
|
||||||
|
#format-prefix = "";
|
||||||
|
#format-prefix-foreground = foreground_altcol;
|
||||||
|
format-underline = "#0a6cf5";
|
||||||
|
|
||||||
|
label = "%date% %time%";
|
||||||
|
};
|
||||||
|
"module/battery" = {
|
||||||
|
type = "internal/battery";
|
||||||
|
battery = "BAT0";
|
||||||
|
adapter = "ADP1";
|
||||||
|
full-at = "98";
|
||||||
|
|
||||||
|
format-charging-background= "#689d6a";
|
||||||
|
format-charging-prefix = ''" "'';
|
||||||
|
format-charging = "<label-charging>";
|
||||||
|
format-discharging-prefix = ''" "'';
|
||||||
|
format-discharging = "<label-discharging>";
|
||||||
|
format-discharging-background= "#689d6a";
|
||||||
|
format-full-prefix = ''" "'';
|
||||||
|
|
||||||
|
format-charging-underline = "#ffaa55";
|
||||||
|
format-full-prefix-foreground = foreground_altcol;
|
||||||
|
format-full-underline = "#ffaa55";
|
||||||
|
|
||||||
|
ormat-full-padding = "1";
|
||||||
|
format-charging-padding = "1";
|
||||||
|
format-discharging-padding = "1";
|
||||||
|
};
|
||||||
|
"module/temperature" = {
|
||||||
|
type = "internal/temperature";
|
||||||
|
thermal-zone = "0";
|
||||||
|
warn-temperature = "60";
|
||||||
|
|
||||||
|
format = "<ramp> <label>";
|
||||||
|
format-underline = "#f50a4d";
|
||||||
|
format-warn = "<ramp> <label-warn>";
|
||||||
|
format-warn-underline = "#f50a4d";
|
||||||
|
|
||||||
|
label = " %temperature-c%";
|
||||||
|
label-warn = "%temperature-c%";
|
||||||
|
label-warn-foreground = secondary_col;
|
||||||
|
|
||||||
|
ramp-0 = "l";
|
||||||
|
ramp-1 = "m";
|
||||||
|
ramp-2 = "h";
|
||||||
|
ramp-foreground = foreground_altcol;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/powermenu" = {
|
||||||
|
type = "custom/menu";
|
||||||
|
|
||||||
|
expand-right = "true";
|
||||||
|
|
||||||
|
format-spacing = "1";
|
||||||
|
|
||||||
|
label-open = ''""'';
|
||||||
|
label-open-foreground = secondary_col;
|
||||||
|
label-close = " cancel";
|
||||||
|
label-close-foreground = secondary_col;
|
||||||
|
label-separator = "|";
|
||||||
|
label-separator-foreground = foreground_altcol;
|
||||||
|
|
||||||
|
menu-0-0 = "reboot";
|
||||||
|
menu-0-0-exec = "menu-open-1";
|
||||||
|
menu-0-1 = "power off";
|
||||||
|
menu-0-1-exec = "menu-open-2";
|
||||||
|
|
||||||
|
menu-1-0 = "cancel";
|
||||||
|
menu-1-0-exec = "menu-open-0";
|
||||||
|
menu-1-1 = "reboot";
|
||||||
|
menu-1-1-exec = "sudo reboot";
|
||||||
|
|
||||||
|
menu-2-0 = "power off";
|
||||||
|
menu-2-0-exec = "sudo poweroff";
|
||||||
|
menu-2-1 = "cancel";
|
||||||
|
menu-2-1-exec = "menu-open-0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/xbacklight" = {
|
||||||
|
type = "internal/xbacklight";
|
||||||
|
|
||||||
|
format = "<label> <bar>";
|
||||||
|
label = "BL";
|
||||||
|
|
||||||
|
bar-width = "10";
|
||||||
|
bar-indicator = "|";
|
||||||
|
bar-indicator-foreground = "#fff";
|
||||||
|
bar-indicator-font = "2";
|
||||||
|
bar-fill = "─";
|
||||||
|
bar-fill-font = "2";
|
||||||
|
bar-fill-foreground = "#9f78e1";
|
||||||
|
bar-empty = "─";
|
||||||
|
bar-empty-font = "2";
|
||||||
|
bar-empty-foreground = foreground_altcol;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
for m in $(polybar --list-monitors | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
||||||
|
MONITOR=$m polybar --reload main &
|
||||||
|
done;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
265
home/config/nixpkgs/polybar.nix~
Normal file
265
home/config/nixpkgs/polybar.nix~
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
{ pkgs, ...}:
|
||||||
|
{
|
||||||
|
services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.polybarFull;
|
||||||
|
settings =
|
||||||
|
let
|
||||||
|
background_col = "#120030";
|
||||||
|
foreground_col = "#9e66ff";
|
||||||
|
foreground_altcol = "#66deff";
|
||||||
|
primary_col = "#ffb52a";
|
||||||
|
secondary_col = "#e60053";
|
||||||
|
alert_col = "#bd2c40";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"bar/main" = {
|
||||||
|
font = [
|
||||||
|
"Hasklig:style=Regular"
|
||||||
|
"all-the-icons:style=Regular"
|
||||||
|
"Webdings:style=Regular"
|
||||||
|
"Noto Emoji:scale=10"
|
||||||
|
"Unifont:style=Regular"
|
||||||
|
"Material Icons:size=12;0"
|
||||||
|
"Weather Icons:size=12;0"
|
||||||
|
"Hasklug Nerd Font,Hasklig Medium:style=Medium,Regular"
|
||||||
|
];
|
||||||
|
modules = {
|
||||||
|
left = "i3";
|
||||||
|
center = "";
|
||||||
|
right = " xbacklight xkeyboard eth wlan battery date powermenu volume ";
|
||||||
|
};
|
||||||
|
|
||||||
|
background = background_col;
|
||||||
|
foreground = foreground_col;
|
||||||
|
|
||||||
|
monitor = ''
|
||||||
|
''${env:MONITOR:}
|
||||||
|
'';
|
||||||
|
width = "100%";
|
||||||
|
module-margin = 1;
|
||||||
|
tray = {
|
||||||
|
position = "right";
|
||||||
|
padding = 2;
|
||||||
|
background = foreground_col;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"module/volume" = {
|
||||||
|
type = "internal/pulseaudio";
|
||||||
|
format.volume = "<ramp-volume> <label-volume>";
|
||||||
|
label.muted.text = "🔇";
|
||||||
|
label.muted.foreground = "#666";
|
||||||
|
ramp.volume = ["🔈" "🔉" "🔊"];
|
||||||
|
click.right = "pavucontrol &";
|
||||||
|
};
|
||||||
|
"module/i3" = {
|
||||||
|
type = "internal/i3";
|
||||||
|
format = "<label-state> <label-mode>";
|
||||||
|
index-sort = "true";
|
||||||
|
wrapping-scroll = "false";
|
||||||
|
|
||||||
|
#; Only show workspaces on the same output as the bar
|
||||||
|
pin-workspaces = "true";
|
||||||
|
|
||||||
|
label-mode-padding = "2";
|
||||||
|
label-mode-foreground = "#000";
|
||||||
|
label-mode-background = primary_col;
|
||||||
|
|
||||||
|
#; focused = Active workspace on focused monitor
|
||||||
|
label-focused = "%name%";
|
||||||
|
#;label-focused-background = ${colors.background-alt}
|
||||||
|
#;label-focused-background = #9f78e1
|
||||||
|
label-focused-background = foreground_col;
|
||||||
|
label-focused-underline= primary_col;
|
||||||
|
label-focused-foreground = "#cccccc";
|
||||||
|
label-focused-padding = "2";
|
||||||
|
|
||||||
|
#; unfocused = Inactive workspace on any monitor
|
||||||
|
label-unfocused = "%name%";
|
||||||
|
label-unfocused-padding = "2";
|
||||||
|
|
||||||
|
#; visible = Active workspace on unfocused monitor
|
||||||
|
label-visible = "%index%";
|
||||||
|
label-visible-background = "#6c419a";
|
||||||
|
label-visible-underline = primary_col;
|
||||||
|
label-visible-padding = 2;
|
||||||
|
|
||||||
|
#; urgent = Workspace with urgency hint set
|
||||||
|
label-urgent = "%name%";
|
||||||
|
label-urgent-background = alert_col;
|
||||||
|
label-urgent-padding = "2";
|
||||||
|
|
||||||
|
#; Separator in between workspaces
|
||||||
|
#; label-separator = |
|
||||||
|
};
|
||||||
|
"module/xkeyboard" = {
|
||||||
|
type = "internal/xkeyboard";
|
||||||
|
blacklist-0 = "num lock";
|
||||||
|
interval = "5";
|
||||||
|
|
||||||
|
format-prefix = ''""'';
|
||||||
|
format-prefix-foreground = foreground_altcol;
|
||||||
|
format-prefix-underline = secondary_col;
|
||||||
|
|
||||||
|
label-layout = "%layout%";
|
||||||
|
label-layout-underline = secondary_col;
|
||||||
|
|
||||||
|
label-indicator-padding = "2";
|
||||||
|
label-indicator-margin = "1";
|
||||||
|
label-indicator-background = secondary_col;
|
||||||
|
label-indicator-underline = secondary_col;
|
||||||
|
};
|
||||||
|
"module/wlan" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "wlp0s20f3";
|
||||||
|
interval = "3.0";
|
||||||
|
|
||||||
|
format-connected = " <ramp-signal> <label-connected>";
|
||||||
|
format-connected-underline = "#9f78e1";
|
||||||
|
label-connected = "%essid%";
|
||||||
|
|
||||||
|
ramp-signal-0 = ''"0.0"'';
|
||||||
|
ramp-signal-1 = ''"0.5"'';
|
||||||
|
ramp-signal-2 = ''"1.0"'';
|
||||||
|
ramp-signal-3 = ''"1.0"'';
|
||||||
|
ramp-signal-4 = ''"1.0"'';
|
||||||
|
|
||||||
|
format-disconnected = "";
|
||||||
|
# ;format-disconnected = <label-disconnected>
|
||||||
|
#;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
#;label-disconnected = %ifname% disconnected
|
||||||
|
#;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
|
||||||
|
ramp-signal-foreground = foreground_altcol;
|
||||||
|
};
|
||||||
|
"module/eth" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface = "eno1";
|
||||||
|
interval = "3.0";
|
||||||
|
|
||||||
|
format-connected-underline = "#55aa55";
|
||||||
|
format-connected = " <label-connected>";
|
||||||
|
format-connected-prefix-foreground = foreground_altcol;
|
||||||
|
label-connected = "%local_ip%";
|
||||||
|
|
||||||
|
format-disconnected = "";
|
||||||
|
format-disconnected-background = "#5479b7";
|
||||||
|
#;format-disconnected = <label-disconnected>
|
||||||
|
#;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
#;label-disconnected = %ifname% disconnected
|
||||||
|
#;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
};
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
interval = "5";
|
||||||
|
|
||||||
|
date = ''" %Y-%m-%d"'';
|
||||||
|
date-alt = ''" %Y-%m-%d"'';
|
||||||
|
|
||||||
|
time = "%H:%M";
|
||||||
|
time-alt = "%H:%M:%S";
|
||||||
|
|
||||||
|
#format-prefix = "";
|
||||||
|
#format-prefix-foreground = foreground_altcol;
|
||||||
|
format-underline = "#0a6cf5";
|
||||||
|
|
||||||
|
label = "%date% %time%";
|
||||||
|
};
|
||||||
|
"module/battery" = {
|
||||||
|
type = "internal/battery";
|
||||||
|
battery = "BAT0";
|
||||||
|
adapter = "ADP1";
|
||||||
|
full-at = "98";
|
||||||
|
|
||||||
|
format-charging-background= "#689d6a";
|
||||||
|
format-charging-prefix = ''" "'';
|
||||||
|
format-charging = "<label-charging>";
|
||||||
|
format-discharging-prefix = ''" "'';
|
||||||
|
format-discharging = "<label-discharging>";
|
||||||
|
format-discharging-background= "#689d6a";
|
||||||
|
format-full-prefix = ''" "'';
|
||||||
|
|
||||||
|
format-charging-underline = "#ffaa55";
|
||||||
|
format-full-prefix-foreground = foreground_altcol;
|
||||||
|
format-full-underline = "#ffaa55";
|
||||||
|
|
||||||
|
ormat-full-padding = "1";
|
||||||
|
format-charging-padding = "1";
|
||||||
|
format-discharging-padding = "1";
|
||||||
|
};
|
||||||
|
"module/temperature" = {
|
||||||
|
type = "internal/temperature";
|
||||||
|
thermal-zone = "0";
|
||||||
|
warn-temperature = "60";
|
||||||
|
|
||||||
|
format = "<ramp> <label>";
|
||||||
|
format-underline = "#f50a4d";
|
||||||
|
format-warn = "<ramp> <label-warn>";
|
||||||
|
format-warn-underline = "#f50a4d";
|
||||||
|
|
||||||
|
label = " %temperature-c%";
|
||||||
|
label-warn = "%temperature-c%";
|
||||||
|
label-warn-foreground = secondary_col;
|
||||||
|
|
||||||
|
ramp-0 = "l";
|
||||||
|
ramp-1 = "m";
|
||||||
|
ramp-2 = "h";
|
||||||
|
ramp-foreground = foreground_altcol;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/powermenu" = {
|
||||||
|
type = "custom/menu";
|
||||||
|
|
||||||
|
expand-right = "true";
|
||||||
|
|
||||||
|
format-spacing = "1";
|
||||||
|
|
||||||
|
label-open = ''""'';
|
||||||
|
label-open-foreground = secondary_col;
|
||||||
|
label-close = " cancel";
|
||||||
|
label-close-foreground = secondary_col;
|
||||||
|
label-separator = "|";
|
||||||
|
label-separator-foreground = foreground_altcol;
|
||||||
|
|
||||||
|
menu-0-0 = "reboot";
|
||||||
|
menu-0-0-exec = "menu-open-1";
|
||||||
|
menu-0-1 = "power off";
|
||||||
|
menu-0-1-exec = "menu-open-2";
|
||||||
|
|
||||||
|
menu-1-0 = "cancel";
|
||||||
|
menu-1-0-exec = "menu-open-0";
|
||||||
|
menu-1-1 = "reboot";
|
||||||
|
menu-1-1-exec = "sudo reboot";
|
||||||
|
|
||||||
|
menu-2-0 = "power off";
|
||||||
|
menu-2-0-exec = "sudo poweroff";
|
||||||
|
menu-2-1 = "cancel";
|
||||||
|
menu-2-1-exec = "menu-open-0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/xbacklight" = {
|
||||||
|
type = "internal/xbacklight";
|
||||||
|
|
||||||
|
format = "<label> <bar>";
|
||||||
|
label = "BL";
|
||||||
|
|
||||||
|
bar-width = "10";
|
||||||
|
bar-indicator = "|";
|
||||||
|
bar-indicator-foreground = "#fff";
|
||||||
|
bar-indicator-font = "2";
|
||||||
|
bar-fill = "─";
|
||||||
|
bar-fill-font = "2";
|
||||||
|
bar-fill-foreground = "#9f78e1";
|
||||||
|
bar-empty = "─";
|
||||||
|
bar-empty-font = "2";
|
||||||
|
bar-empty-foreground = foreground_altcol;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
for m in $(polybar --list-monitors | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
||||||
|
MONITOR=$m polybar --reload main &
|
||||||
|
done;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
59
home/config/nixpkgs/zsh.nix
Normal file
59
home/config/nixpkgs/zsh.nix
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
defaultKeymap = "emacs";
|
||||||
|
oh-my-zsh.enable = false;
|
||||||
|
# remove extra stuff on the right side of the prompt
|
||||||
|
initExtra = ''
|
||||||
|
unset RPS1
|
||||||
|
# Color man pages
|
||||||
|
export LESS_TERMCAP_mb=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_md=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_me=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_se=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_so=$'\E[01;47;34m'
|
||||||
|
export LESS_TERMCAP_ue=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_us=$'\E[01;36m'
|
||||||
|
export LESS=-R
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
cp = "cp -i";
|
||||||
|
ls = "exa --icons";
|
||||||
|
ll = "exa --long --icons --grid --binary --group";
|
||||||
|
lal = "ll --all";
|
||||||
|
lla = "ll --all";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = false;
|
||||||
|
format = "$all";
|
||||||
|
username.show_always = false;
|
||||||
|
git_commit.tag_disabled = false;
|
||||||
|
hostname.ssh_only = false;
|
||||||
|
directory.truncate_to_repo = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
config = { theme = "ansi"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
exa = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
59
home/config/nixpkgs/zsh.nix~
Normal file
59
home/config/nixpkgs/zsh.nix~
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{ pkgs, ... };
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
defaultKeymap = "emacs";
|
||||||
|
oh-my-zsh.enable = false;
|
||||||
|
# remove extra stuff on the right side of the prompt
|
||||||
|
initExtra = ''
|
||||||
|
unset RPS1
|
||||||
|
# Color man pages
|
||||||
|
export LESS_TERMCAP_mb=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_md=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_me=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_se=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_so=$'\E[01;47;34m'
|
||||||
|
export LESS_TERMCAP_ue=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_us=$'\E[01;36m'
|
||||||
|
export LESS=-R
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
cp = "cp -i";
|
||||||
|
ls = "exa --icons";
|
||||||
|
ll = "exa --long --icons --grid --binary --group";
|
||||||
|
lal = "ll --all";
|
||||||
|
lla = "ll --all";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = false;
|
||||||
|
format = "$all";
|
||||||
|
username.show_always = false;
|
||||||
|
git_commit.tag_disabled = false;
|
||||||
|
hostname.ssh_only = false;
|
||||||
|
directory.truncate_to_repo = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
config = { theme = "ansi"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
exa = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
15
programs/aspell.nix
Normal file
15
programs/aspell.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
aspellConf = ''
|
||||||
|
data-dir /run/current-system/sw/lib/aspell
|
||||||
|
dict-dir /run/current-system/sw/lib/aspell
|
||||||
|
master en_GB-ise
|
||||||
|
extra-dicts en-computers.rws
|
||||||
|
add-extra-dicts en_GB-science.rws
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ pkgs.aspell ]
|
||||||
|
++ (with pkgs.aspellDicts; [ de en sv en-computers en-science ]);
|
||||||
|
}
|
||||||
@ -2,11 +2,7 @@
|
|||||||
(setq package-enable-at-startup nil)
|
(setq package-enable-at-startup nil)
|
||||||
(package-initialize)
|
(package-initialize)
|
||||||
|
|
||||||
(use-package spacemacs-theme
|
(load-theme 'spacemacs-dark t)
|
||||||
:ensure t
|
|
||||||
:config (load-theme 'spacemacs-dark t))
|
|
||||||
|
|
||||||
;(load-theme 'spacemacs-dark t)
|
|
||||||
|
|
||||||
;; Tab-width
|
;; Tab-width
|
||||||
(setq tab-width 2)
|
(setq tab-width 2)
|
||||||
|
|||||||
336
programs/emacs/default.el~
Normal file
336
programs/emacs/default.el~
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
(require 'package)
|
||||||
|
(setq package-enable-at-startup nil)
|
||||||
|
(package-initialize)
|
||||||
|
|
||||||
|
(use-package spacemacs-theme
|
||||||
|
:ensure t
|
||||||
|
:config (load-theme 'spacemacs-dark t))
|
||||||
|
|
||||||
|
;(load-theme 'spacemacs-dark t)
|
||||||
|
|
||||||
|
;; Tab-width
|
||||||
|
(setq tab-width 2)
|
||||||
|
|
||||||
|
;; prolog
|
||||||
|
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)) auto-mode-alist))
|
||||||
|
(setq auto-mode-alist (append '(("\\.lp$" . prolog-mode)) auto-mode-alist))
|
||||||
|
(setq auto-mode-alist (append '(("\\.rls$" . prolog-mode)) auto-mode-alist))
|
||||||
|
|
||||||
|
;; spellchecking
|
||||||
|
(setq ispell-dictionary "british")
|
||||||
|
(add-hook 'LaTeX-mode-hook '(lambda () (flyspell-mode 1)))
|
||||||
|
|
||||||
|
;; ido
|
||||||
|
(ido-mode 1)
|
||||||
|
(setq ido-enable-flex-matching t); flexible matching
|
||||||
|
(define-key (cdr ido-minor-mode-map-entry) [remap write-file] nil) ;do not suggest name when save as
|
||||||
|
;; make ido show suggestions one per line and not in one line
|
||||||
|
;; (make-local-variable 'ido-decorations)
|
||||||
|
;; (setf (nth 2 ido-decorations) "\n")
|
||||||
|
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;; org-mode ;;;;;;;;;;;;;;;;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(bind-key "C-c l" 'org-toggle-link-display) ;shows org links in plain text
|
||||||
|
(require 'org-roam)
|
||||||
|
(require 'org-roam-protocol)
|
||||||
|
(require 'ox-md)
|
||||||
|
(setq org-roam-directory "~/org-notes")
|
||||||
|
(setq org-roam-dailies-directory "~/org-notes/daily")
|
||||||
|
(add-hook 'after-init-hook 'org-roam-mode) ;init org-roam at startup
|
||||||
|
(bind-key [f8] 'org-roam-jump-to-index) ;jump to org roam index
|
||||||
|
(bind-key "C-c n f" 'org-roam-find-file) ; find a note
|
||||||
|
(bind-key "C-c n c" 'org-roam-capture) ; create a note
|
||||||
|
(bind-key "C-c n i" 'org-roam-insert) ;insert a link
|
||||||
|
(bind-key "C-c n l" 'org-roam-insert) ;insert a link
|
||||||
|
(bind-key "C-c n b" 'org-roam) ;shows backlink window
|
||||||
|
(bind-key "C-c n t" 'org-roam-tag-add) ;adds an org roam tag
|
||||||
|
(bind-key "C-c n d" 'org-roam-dailies-capture-date) ;adds notes to daily event cards
|
||||||
|
|
||||||
|
|
||||||
|
(setq org-roam-completion-system 'ivy)
|
||||||
|
|
||||||
|
(setq org-roam-capture-templates
|
||||||
|
'(("d" "default" plain (function org-roam--capture-get-point)
|
||||||
|
"%?"
|
||||||
|
:file-name "%<%Y%m%d%H%M%S>-${slug}"
|
||||||
|
:head "#+title: ${title}\n#+roam_tags: %^{org-roam-tags}\n"
|
||||||
|
:unnarrowed t)))
|
||||||
|
|
||||||
|
(setq org-roam-server-host "127.0.0.1"
|
||||||
|
org-roam-server-port 8080
|
||||||
|
org-roam-server-authenticate nil
|
||||||
|
org-roam-server-export-inline-images t
|
||||||
|
org-roam-server-serve-files nil
|
||||||
|
org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
|
||||||
|
org-roam-server-network-poll t
|
||||||
|
org-roam-server-network-arrows nil
|
||||||
|
org-roam-server-network-label-truncate t
|
||||||
|
org-roam-server-network-label-truncate-length 60
|
||||||
|
org-roam-server-network-label-wrap-length 20)
|
||||||
|
|
||||||
|
;; tally-list
|
||||||
|
(defun coffee-tally-add (n)
|
||||||
|
(interactive "nN: ")
|
||||||
|
(org-entry-put
|
||||||
|
nil "COFFEETALLY"
|
||||||
|
(format "%s" (+ n (string-to-number
|
||||||
|
(or (org-entry-get nil "COFFEETALLY") "0"))))))
|
||||||
|
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;; MAGIT ;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
(use-package magit
|
||||||
|
:defer t
|
||||||
|
:commands (magit-blame magit-log magit-status)
|
||||||
|
:bind (("<f5>" . magit-blame)
|
||||||
|
("<f6>" . magit-log)
|
||||||
|
("<f7>" . magit-status))
|
||||||
|
:custom
|
||||||
|
(magit-commit-signoff t)
|
||||||
|
(magit-define-global-key-bindings t)
|
||||||
|
(magit-revert-buffers 'silent t)
|
||||||
|
(magit-use-overlays nil))
|
||||||
|
|
||||||
|
|
||||||
|
(custom-set-variables
|
||||||
|
'(inhibit-startup-screen t)
|
||||||
|
'(org-angeda-files '("~/org-notes/daily/" "~/org-notes/"))
|
||||||
|
)
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;; LaTeX ;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(add-hook 'LateX-mode-hook 'turn-on-reftex)
|
||||||
|
;; auctex
|
||||||
|
(load "auctex.el" nil t t)
|
||||||
|
(load "preview-latex.el" nil t t)
|
||||||
|
(setq TeX-toggle-debug-warnings t)
|
||||||
|
(setq TeX-toggle-debug-bad-boxes t)
|
||||||
|
(setq TeX-PDF-mode t)
|
||||||
|
;; reftex
|
||||||
|
(setq reftex-plug-into-AUCTeX t)
|
||||||
|
|
||||||
|
;; ##### Don't forget to configure
|
||||||
|
;; ##### Okular to use emacs in
|
||||||
|
;; ##### "Configuration/Configure Okular/Editor"
|
||||||
|
;; ##### => Editor => Emacsclient. (you should see
|
||||||
|
;; ##### emacsclient -a emacs --no-wait +%l %f
|
||||||
|
;; ##### in the field "Command".
|
||||||
|
|
||||||
|
;; ##### Always ask for the master file
|
||||||
|
;; ##### when creating a new TeX file.
|
||||||
|
;(setq-default TeX-master nil)
|
||||||
|
|
||||||
|
;; ##### Enable synctex correlation. From Okular just press
|
||||||
|
;; ##### Shift + Left click to go to the good line.
|
||||||
|
(setq TeX-source-correlate-mode t
|
||||||
|
TeX-source-correlate-start-server t)
|
||||||
|
|
||||||
|
;; ### Set Okular as the default PDF viewer.
|
||||||
|
(eval-after-load "tex"
|
||||||
|
'(setcar (cdr (assoc 'output-pdf TeX-view-program-selection)) "Okular"))
|
||||||
|
|
||||||
|
(use-package company-reftex
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(with-eval-after-load 'company
|
||||||
|
(add-to-list 'company-backends '(company-reftex-labels company-reftex-citations))))
|
||||||
|
(use-package company-auctex
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(with-eval-after-load 'company
|
||||||
|
(company-auctex-init)))
|
||||||
|
(use-package company-bibtex
|
||||||
|
:defines company-backends
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(with-eval-after-load 'company
|
||||||
|
(add-to-list 'company-backends '(company-bibtex))))
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;; projectile ;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(use-package projectile
|
||||||
|
:init
|
||||||
|
(projectile-mode t)
|
||||||
|
:bind-keymap (("C-c p" . projectile-command-map))
|
||||||
|
:preface
|
||||||
|
(defun se/projectile-project-root (orig-fn &rest args)
|
||||||
|
"Disable projectile-modelining on remote hosts because it's unusably slow."
|
||||||
|
(unless (file-remote-p default-directory)
|
||||||
|
(apply orig-fn args)))
|
||||||
|
:config
|
||||||
|
(advice-add 'projectile-project-root :around #'se/projectile-project-root)
|
||||||
|
:custom
|
||||||
|
(projectile-enable-caching t)
|
||||||
|
(projectile-file-exists-remote-cache-expire (* 10 60))
|
||||||
|
(projectile-switch-project-action 'projectile-find-file)
|
||||||
|
(projectile-find-dir-includes-top-level t)
|
||||||
|
(projectile-completion-system 'default)
|
||||||
|
(projectile-globally-ignored-file-suffixes
|
||||||
|
'(".synctex.gz" ".bcf" ".blg" ".run.xml" ".thm" ".toc" ".out" ".idx" ".ilg" ".ind" ".tdo" ".bbl" ".aux" ".log"))
|
||||||
|
(projectile-mode-line '(:eval (format " [%s]" (projectile-project-name))))
|
||||||
|
(projectile-project-root-files-bottom-up
|
||||||
|
'(".projectile" ".hg" "_darcs" ".fslckout" "_FOSSIL_" ".bzr" ".git")))
|
||||||
|
(use-package projectile-ripgrep
|
||||||
|
:bind (:map projectile-command-map
|
||||||
|
("s s" . 'projectile-ripgrep))
|
||||||
|
:after projectile)
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;; Rust ;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; rustic
|
||||||
|
|
||||||
|
;(push 'rustic-clippy flycheck-checkers)
|
||||||
|
|
||||||
|
;; company mode
|
||||||
|
(add-hook 'rustic-mode-hook 'company-mode)
|
||||||
|
|
||||||
|
|
||||||
|
;; lsp mode
|
||||||
|
|
||||||
|
(setq lsp-rust-analyzer-server-display-inlay-hints t)
|
||||||
|
(setq lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||||
|
(setq lsp-keymap-prefix "C-l")
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;; beacon ;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
|
(use-package beacon
|
||||||
|
:diminish beacon-mode
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(beacon-mode t)
|
||||||
|
:custom
|
||||||
|
(beacon-blink-delay 0.1)
|
||||||
|
(beacon-blink-duration 0.2)
|
||||||
|
(beacon-blink-when-focused t)
|
||||||
|
(beacon-blink-when-point-moves-horizontally 10)
|
||||||
|
(beacon-blink-when-point-moves-vertically 5)
|
||||||
|
(beacon-color "#2aa198")
|
||||||
|
(beacon-size 16))
|
||||||
|
|
||||||
|
|
||||||
|
(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.
|
||||||
|
'(inhibit-startup-screen t)
|
||||||
|
'(org-agenda-files '("~/org-notes/daily/" "~/org-notes/"))
|
||||||
|
'(package-selected-packages
|
||||||
|
'(projectile-ripgrep projectile yaml-mode ox-pandoc use-package treemacs-all-the-icons treemacs-magit ivy org-roam-server org-roam ob-rust magit zenburn-theme treemacs spacemacs-theme rustic monokai-theme moe-theme lsp-ui gruvbox-theme company-lsp bind-key)))
|
||||||
|
(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.
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package highlight-indentation
|
||||||
|
:diminish highlight-indentation-mode
|
||||||
|
:commands highlight-indentation-mode
|
||||||
|
:defer t
|
||||||
|
:hook ((text-mode prog-mode) . highlight-indentation-mode))
|
||||||
|
(use-package multiple-cursors
|
||||||
|
:bind (("C-S-c C-S-c" . mc/edit-lines)
|
||||||
|
("C->" . mc/mark-next-like-this)
|
||||||
|
("C-<" . mc/mark-previous-like-this)
|
||||||
|
("C-c C-<" . mc/mark/all-like-this)))
|
||||||
|
|
||||||
|
|
||||||
|
;; direnv
|
||||||
|
(use-package direnv
|
||||||
|
:config
|
||||||
|
(direnv-mode t))
|
||||||
|
|
||||||
|
;; dap
|
||||||
|
(use-package dap-mode
|
||||||
|
:after lsp-mode
|
||||||
|
:custom
|
||||||
|
(dap-mode t)
|
||||||
|
(dap-ui-mode t))
|
||||||
|
|
||||||
|
;; flycheck
|
||||||
|
(use-package flycheck
|
||||||
|
:demand t
|
||||||
|
:custom
|
||||||
|
(flycheck-highlighting-mode 'sexps)
|
||||||
|
(flycheck-mode-line-prefix ""))
|
||||||
|
|
||||||
|
;; flyspell
|
||||||
|
(use-package flyspell
|
||||||
|
:defer t
|
||||||
|
:hook (prog-mode . flyspell-prog-mode)
|
||||||
|
:custom
|
||||||
|
(flyspell-mode-line-string nil))
|
||||||
|
|
||||||
|
;; lsp
|
||||||
|
(use-package lsp-mode
|
||||||
|
:after flycheck
|
||||||
|
:commands lsp
|
||||||
|
:preface
|
||||||
|
:hook (((
|
||||||
|
; ada-mode
|
||||||
|
clojure-mode
|
||||||
|
cmake-mode
|
||||||
|
c++-mode
|
||||||
|
css-mode
|
||||||
|
;; dockerfile-mode
|
||||||
|
js2-mode
|
||||||
|
f90-mode
|
||||||
|
html-mode
|
||||||
|
haskell-mode
|
||||||
|
java-mode
|
||||||
|
json-mode
|
||||||
|
;; lua-mode
|
||||||
|
;; markdown-mode
|
||||||
|
nix-mode
|
||||||
|
;; ocaml-mode
|
||||||
|
;; pascal-mode
|
||||||
|
;; perl-mode
|
||||||
|
;; php-mode
|
||||||
|
;; prolog-mode
|
||||||
|
python-mode
|
||||||
|
;; ess-mode
|
||||||
|
;; ruby-mode
|
||||||
|
rust-mode
|
||||||
|
;; sql-mode
|
||||||
|
typescript-mode
|
||||||
|
vue-mode
|
||||||
|
;; xml-mode
|
||||||
|
;; yaml-mode
|
||||||
|
web-mode
|
||||||
|
) . lsp)
|
||||||
|
(lsp-mode . flycheck-mode)
|
||||||
|
(sh-mode . (lambda ()
|
||||||
|
(unless (apply #'derived-mode-p '(direnv-envrc-mode))
|
||||||
|
(lsp-mode t)))))
|
||||||
|
:diminish eldoc-mode
|
||||||
|
:custom
|
||||||
|
(lsp-keymap-prefix "C-c")
|
||||||
|
(lsp-eldoc-render-all t)
|
||||||
|
(lsp-file-watch-threshold 5000)
|
||||||
|
(lsp-ui-doc-border "#586e75")
|
||||||
|
(lsp-ui-doc-header t)
|
||||||
|
(lsp-ui-doc-include-signature t))
|
||||||
|
;:custom-face
|
||||||
|
;(lsp-ui-sideline-code-action ((t (:foreground "#b58900"))))
|
||||||
|
;(lsp-ui-sideline-current-symbol ((t (:foreground "#d33682" :box (:line-width -1 :color "#d33682") :weight ultra-bold :height 0.99)))))
|
||||||
|
|
||||||
|
;; misc
|
||||||
|
(use-package academic-phrases
|
||||||
|
:defer t
|
||||||
|
:commands
|
||||||
|
(academic-phrases
|
||||||
|
academic-phrases-by-section))
|
||||||
@ -3,10 +3,10 @@
|
|||||||
let
|
let
|
||||||
defaultEl = ./default.el;
|
defaultEl = ./default.el;
|
||||||
|
|
||||||
defaultConfig = pkgs.runCommand "default.el" { } ''
|
# defaultConfig = pkgs.runCommand "default.el" { } ''
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
# mkdir -p $out/share/emacs/site-lisp
|
||||||
cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
# cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
||||||
'';
|
#'';
|
||||||
|
|
||||||
emacsPackage = (pkgs.emacsPackagesGen pkgs.emacs).emacsWithPackages
|
emacsPackage = (pkgs.emacsPackagesGen pkgs.emacs).emacsWithPackages
|
||||||
(epkgs:
|
(epkgs:
|
||||||
@ -21,6 +21,7 @@ let
|
|||||||
# gnupg
|
# gnupg
|
||||||
# nixpkgs-fmt
|
# nixpkgs-fmt
|
||||||
#])
|
#])
|
||||||
|
#[(defaultConfig)] ++
|
||||||
[(with epkgs.elpaPackages; [
|
[(with epkgs.elpaPackages; [
|
||||||
auctex
|
auctex
|
||||||
org
|
org
|
||||||
@ -41,6 +42,7 @@ let
|
|||||||
company-flx
|
company-flx
|
||||||
company-quickhelp
|
company-quickhelp
|
||||||
company-reftex
|
company-reftex
|
||||||
|
dap-mode
|
||||||
dockerfile-mode
|
dockerfile-mode
|
||||||
docker-compose-mode
|
docker-compose-mode
|
||||||
flycheck
|
flycheck
|
||||||
@ -50,12 +52,14 @@ let
|
|||||||
json-mode
|
json-mode
|
||||||
less-css-mode
|
less-css-mode
|
||||||
lsp-mode
|
lsp-mode
|
||||||
|
lsp-ui
|
||||||
magit
|
magit
|
||||||
|
moe-theme
|
||||||
multiple-cursors
|
multiple-cursors
|
||||||
nix-mode
|
nix-mode
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
org-bullets
|
org-bullets
|
||||||
#org-roam
|
org-roam
|
||||||
#org-roam-server
|
#org-roam-server
|
||||||
pasp-mode
|
pasp-mode
|
||||||
pdf-tools
|
pdf-tools
|
||||||
@ -63,9 +67,12 @@ let
|
|||||||
projectile-ripgrep
|
projectile-ripgrep
|
||||||
rustic
|
rustic
|
||||||
spacemacs-theme
|
spacemacs-theme
|
||||||
|
solarized-theme
|
||||||
sparql-mode
|
sparql-mode
|
||||||
|
sudo-edit
|
||||||
use-package
|
use-package
|
||||||
yaml-mode
|
yaml-mode
|
||||||
|
yasnippet
|
||||||
]));
|
]));
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|||||||
93
programs/emacs/default.nix~
Normal file
93
programs/emacs/default.nix~
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
defaultEl = ./default.el;
|
||||||
|
|
||||||
|
# defaultConfig = pkgs.runCommand "default.el" { } ''
|
||||||
|
# mkdir -p $out/share/emacs/site-lisp
|
||||||
|
# cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
||||||
|
#'';
|
||||||
|
|
||||||
|
emacsPackage = (pkgs.emacsPackagesGen pkgs.emacs).emacsWithPackages
|
||||||
|
(epkgs:
|
||||||
|
#let
|
||||||
|
# lpkgs = import ./packages.nix {
|
||||||
|
# inherit config lib pkgs epkgs;
|
||||||
|
# };
|
||||||
|
#in
|
||||||
|
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [
|
||||||
|
# aspell
|
||||||
|
# emacs-all-the-icons-fonts
|
||||||
|
# gnupg
|
||||||
|
# nixpkgs-fmt
|
||||||
|
#])
|
||||||
|
#[(defaultConfig)] ++
|
||||||
|
[(with epkgs.elpaPackages; [
|
||||||
|
auctex
|
||||||
|
org
|
||||||
|
flymake
|
||||||
|
])]
|
||||||
|
++ (with epkgs.melpaStablePackages; [ ]) ++ (with epkgs.melpaPackages; [
|
||||||
|
academic-phrases
|
||||||
|
add-hooks
|
||||||
|
alert
|
||||||
|
all-the-icons
|
||||||
|
all-the-icons-dired
|
||||||
|
beacon
|
||||||
|
bln-mode
|
||||||
|
cargo-mode
|
||||||
|
company
|
||||||
|
company-auctex
|
||||||
|
company-bibtex
|
||||||
|
company-flx
|
||||||
|
company-quickhelp
|
||||||
|
company-reftex
|
||||||
|
dap-mode
|
||||||
|
dockerfile-mode
|
||||||
|
docker-compose-mode
|
||||||
|
flycheck
|
||||||
|
free-keys
|
||||||
|
highlight-indentation
|
||||||
|
ivy
|
||||||
|
json-mode
|
||||||
|
less-css-mode
|
||||||
|
lsp-mode
|
||||||
|
lsp-ui
|
||||||
|
magit
|
||||||
|
moe-theme
|
||||||
|
multiple-cursors
|
||||||
|
nix-mode
|
||||||
|
nixpkgs-fmt
|
||||||
|
org-bullets
|
||||||
|
org-roam
|
||||||
|
#org-roam-server
|
||||||
|
pasp-mode
|
||||||
|
pdf-tools
|
||||||
|
projectile
|
||||||
|
projectile-ripgrep
|
||||||
|
rustic
|
||||||
|
spacemacs-theme
|
||||||
|
solarized-theme
|
||||||
|
sparql-mode
|
||||||
|
sudo-edit
|
||||||
|
use-package
|
||||||
|
yaml-mode
|
||||||
|
yasnippet
|
||||||
|
]));
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.emacs = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
package = emacsPackage;
|
||||||
|
};
|
||||||
|
#nixpkgs.overlays = [ (self: super: { emacsOrig = super.emacs; }) (import (builtins.fetchTarball {
|
||||||
|
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
||||||
|
#})) ];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import (builtins.fetchTarball {
|
||||||
|
url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
}
|
||||||
47
programs/emacs/emacs.nix
Normal file
47
programs/emacs/emacs.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ config, pkgs, ...}:
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
(emacsWithPackagesFromUsePackage {
|
||||||
|
# Your Emacs config file. Org mode babel files are also
|
||||||
|
# supported.
|
||||||
|
# NB: Config files cannot contain unicode characters, since
|
||||||
|
# they're being parsed in nix, which lacks unicode
|
||||||
|
# support.
|
||||||
|
# config = ./emacs.org;
|
||||||
|
config = ./default.el;
|
||||||
|
|
||||||
|
# Package is optional, defaults to pkgs.emacs
|
||||||
|
#package = pkgs.emacs;
|
||||||
|
|
||||||
|
# By default emacsWithPackagesFromUsePackage will only pull in
|
||||||
|
# packages with `:ensure`, `:ensure t` or `:ensure <package name>`.
|
||||||
|
# Setting `alwaysEnsure` to `true` emulates `use-package-always-ensure`
|
||||||
|
# and pulls in all use-package references not explicitly disabled via
|
||||||
|
# `:ensure nil` or `:disabled`.
|
||||||
|
# Note that this is NOT recommended unless you've actually set
|
||||||
|
# `use-package-always-ensure` to `t` in your config.
|
||||||
|
#alwaysEnsure = true;
|
||||||
|
|
||||||
|
# For Org mode babel files, by default only code blocks with
|
||||||
|
# `:tangle yes` are considered. Setting `alwaysTangle` to `true`
|
||||||
|
# will include all code blocks missing the `:tangle` argument,
|
||||||
|
# defaulting it to `yes`.
|
||||||
|
# Note that this is NOT recommended unless you have something like
|
||||||
|
# `#+PROPERTY: header-args:emacs-lisp :tangle yes` in your config,
|
||||||
|
# which defaults `:tangle` to `yes`.
|
||||||
|
alwaysTangle = true;
|
||||||
|
|
||||||
|
# Optionally provide extra packages not in the configuration file.
|
||||||
|
extraEmacsPackages = epkgs: [
|
||||||
|
epkgs.cask
|
||||||
|
];
|
||||||
|
|
||||||
|
# Optionally override derivations.
|
||||||
|
override = epkgs: epkgs // {
|
||||||
|
weechat = epkgs.melpaPackages.weechat.overrideAttrs(old: {
|
||||||
|
patches = [ ./weechat-el.patch ];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
47
programs/emacs/emacs.nix~
Normal file
47
programs/emacs/emacs.nix~
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ config, pkgs, ...}:
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
(emacsWithPackagesFromUsePackage {
|
||||||
|
# Your Emacs config file. Org mode babel files are also
|
||||||
|
# supported.
|
||||||
|
# NB: Config files cannot contain unicode characters, since
|
||||||
|
# they're being parsed in nix, which lacks unicode
|
||||||
|
# support.
|
||||||
|
# config = ./emacs.org;
|
||||||
|
config = ./default.el;
|
||||||
|
|
||||||
|
# Package is optional, defaults to pkgs.emacs
|
||||||
|
package = pkgs.emacsGit;
|
||||||
|
|
||||||
|
# By default emacsWithPackagesFromUsePackage will only pull in
|
||||||
|
# packages with `:ensure`, `:ensure t` or `:ensure <package name>`.
|
||||||
|
# Setting `alwaysEnsure` to `true` emulates `use-package-always-ensure`
|
||||||
|
# and pulls in all use-package references not explicitly disabled via
|
||||||
|
# `:ensure nil` or `:disabled`.
|
||||||
|
# Note that this is NOT recommended unless you've actually set
|
||||||
|
# `use-package-always-ensure` to `t` in your config.
|
||||||
|
alwaysEnsure = true;
|
||||||
|
|
||||||
|
# For Org mode babel files, by default only code blocks with
|
||||||
|
# `:tangle yes` are considered. Setting `alwaysTangle` to `true`
|
||||||
|
# will include all code blocks missing the `:tangle` argument,
|
||||||
|
# defaulting it to `yes`.
|
||||||
|
# Note that this is NOT recommended unless you have something like
|
||||||
|
# `#+PROPERTY: header-args:emacs-lisp :tangle yes` in your config,
|
||||||
|
# which defaults `:tangle` to `yes`.
|
||||||
|
alwaysTangle = true;
|
||||||
|
|
||||||
|
# Optionally provide extra packages not in the configuration file.
|
||||||
|
extraEmacsPackages = epkgs: [
|
||||||
|
epkgs.cask
|
||||||
|
];
|
||||||
|
|
||||||
|
# Optionally override derivations.
|
||||||
|
override = epkgs: epkgs // {
|
||||||
|
weechat = epkgs.melpaPackages.weechat.overrideAttrs(old: {
|
||||||
|
patches = [ ./weechat-el.patch ];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user