Merge remote-tracking branch 'origin/master' into nixos

This commit is contained in:
Daniel Flanagan 2020-10-26 16:33:46 -05:00
commit 8e9b973c0c
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
27 changed files with 716 additions and 62 deletions

View file

@ -120,7 +120,9 @@ bindsym $mod+Control+Alt+k gaps vertical current plus 5
bindsym $mod+Control+equal gaps inner current set $default_gap
bindsym $mod+Control+Shift+l exec swaylock
bindsym $mod+Control+Shift+s exec lock-and-sleep
# TODO: toggle-able swayidle?
# TODO: one-time swayidle?
# bindsym $mod+Control+Shift+s exec lock-and-disable-monitors
mode "resize" {
bindsym $left resize shrink width 10 px or 10 ppt
@ -140,7 +142,7 @@ mode "resize" {
default_border pixel 5
for_window [app_id="floating_terminal"] floating enable
for_window [class="floating_terminal"] floating enable
for_window [class=".*"] layout splith
for_window [class=".*"] layout splitv
# bindsym $mod+r mode "resize"
@ -160,6 +162,8 @@ client.focused_inactive #111111 #111111 #ffffff #111111 #111111
client.unfocused #111111 #111111 #ffffff #111111 #111111
exec mako
exec gammastep -t 6500:3500 -l 39.0:-94.5
exec_always kanshi
exec_always makoctl reload
exec_always notify-send -a "Sway" -i ~/.wallpaper "Sway configuration loaded."
include $ENV_PATH/sway/config.d/main

100
apps/de/x/resources Executable file
View file

@ -0,0 +1,100 @@
! font
#define mono_font Iosevka
#define mono_font_size 14
#define bar_font_size 12
#define mono_font_letterspace 0
#define icon_font Font Awesome 5 Free Solid
#define icon_font_size 12
#define bold_mono_font iosevka-lyte Semibold
#define emoji_font Noto Emoji
#define font_fallback_stack xft:icon_font,xft:FreeSans
! window spacing
#define window_padding 24
#define window_border 5
#define window_margin 0
! dpi
#define base_dpi 92
! alternatives
!#define mono_font scientifica
!#define mono_font_size 11
!#define mono_font curie
!#define mono_font_size 10
! font
*.font: xft:mono_font:pixelsize=mono_font_size,xft:emoji_font,font_fallback_stack
*.boldFont: xft:bold_mono_font:pixelsize=mono_font_size
*.letterSpace: mono_font_letterspace
! rxvt-unicode
URxvt.termName: rxvt-unicode
URxvt.scrollBar: false
URxvt.cursorUnderline: true
URxvt.cursorBlink: true
URxvt.intensityStyles: true
URxvt.utf8: 1
URxvt.scaleHeight: 1
URxvt.depth: 32
URxvt.internalBorder: window_padding
URxvt.perl-ext-common: default,matcher,resize-font
URxvt.keysym.M-Escape: perl:keyboard-select:activate
URxvt.resize-font.smaller: C-Down
URxvt.resize-font.bigger: C-Up
URxvt.url-launcher: /usr/bin/xdg-open
URxvt.matcher.button: 1
URxvt.iso14755: False
! misc
Xcursor.theme: human
! dpi
dpi: base_dpi
.dpi: base_dpi
*dpi: base_dpi
Xft.dpi: base_dpi
! font rendering
! TODO: is this still relevant?
*autohint: 0
*lcdfilter: lcddefault
*hintstyle: hintfull
*hinting: 1
*antialias: 1
*rgba: rgb
! bspwm
bspwm.window_gap: window_margin
bspwm.border_width: window_border
bspwm.num_desktops: 10
bspwm.reverse_desktop_ordering: 0
bspwm.reverse_monitor_desktops: 0
bspwm.split_ratio: 0.5
bspwm.start_compton: 0
bspwm.start_bar: 1
! polybar
polybar.primary_font: mono_font:pixelsize=bar_font_size;1
polybar.secondary_font: icon_font:style=Regular:pixelsize=icon_font_size;1
polybar.display_monitor: DisplayPort-0
polybar.bottom_of_display: 1
polybar.margin: window_margin
polybar.storage_volume: /
polybar.ethernet_interface: eth0
polybar.wireless_interface: wan0
polybar.width: 100%
polybar.height: 40
! if you have a margin value, be sure to include that in your offsets
polybar.offset_x: 0
polybar.offset_y: 0
! rofi
rofi.font: mono_font mono_font_size
rofi.padding: window_padding
rofi.bw: window_border
rofi.color-enabled: true
rofi.monitor: -4
rofi.width: 600
rofi.sort: true
rofi.sorting-method: fzf

View file

@ -0,0 +1,83 @@
####################
# SELENIZED BLACK #
####################
# theme by Jan Warchoł
# ported by TeddyDD
evaluate-commands %sh{
bg="rgb:181818"
black="rgb:252525"
br_black="rgb:3b3b3b"
white="rgb:777777"
fg="rgb:b9b9b9"
br_white="rgb:dedede"
red="rgb:ed4a46"
green="rgb:70b433"
yellow="rgb:dbb32d"
blue="rgb:368aeb"
magenta="rgb:eb6eb7"
cyan="rgb:3fc5b7"
orange="rgb:e67f43"
violet="rgb:a580e2"
br_red="rgb:ff5e56"
br_green="rgb:83c746"
br_yellow="rgb:efc541"
br_blue="rgb:4f9cfe"
br_magenta="rgb:ff81ca"
br_cyan="rgb:56d8c9"
br_orange="rgb:fa9153"
br_violet="rgb:b891f5"
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${blue}
set-face global function ${br_cyan}
set-face global string ${br_green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${white}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
set-face global title ${blue}+u
set-face global header ${br_cyan}+u
set-face global bold ${br_white}+b
set-face global italic ${br_white}+i
set-face global mono ${br_green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
set-face global Default ${fg},${bg}
set-face global PrimarySelection $black,$white
set-face global SecondarySelection ${fg},$br_black+i
set-face global PrimaryCursor $bg,$red+b
set-face global SecondaryCursor $black,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
set-face global MenuForeground $cyan,$br_black+b
set-face global MenuBackground $fg,$black
set-face global Information $br_yellow,$black
set-face global Error $black,$br_red
set-face global BufferPadding $black,$black
set-face global Whitespace $white
set-face global StatusLine $fg,$black
set-face global StatusLineInfo $yellow,$black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -0,0 +1,83 @@
##################
# SELENIZED DARK #
##################
# theme by Jan Warchoł
# ported by Delapouite
evaluate-commands %sh{
bg="rgb:103c48"
black="rgb:184956"
br_black="rgb:2d5b69"
white="rgb:72898f"
fg="rgb:adbcbc"
br_white="rgb:cad8d9"
red="rgb:fa5750"
green="rgb:75b938"
yellow="rgb:dbb32d"
blue="rgb:4695f7"
magenta="rgb:f275be"
cyan="rgb:41c7b9"
orange="rgb:ed8649"
violet="rgb:af88eb"
br_red="rgb:ff665c"
br_green="rgb:84c747"
br_yellow="rgb:ebc13d"
br_blue="rgb:58a3ff"
br_magenta="rgb:ff84cd"
br_cyan="rgb:53d6c7"
br_orange="rgb:fd9456"
br_violet="rgb:bd96fa"
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${blue}
set-face global function ${br_cyan}
set-face global string ${br_green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${white}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
set-face global title ${blue}+u
set-face global header ${br_cyan}+u
set-face global bold ${br_white}+b
set-face global italic ${br_white}+i
set-face global mono ${br_green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
set-face global Default ${fg},${bg}
set-face global PrimarySelection $black,$white
set-face global SecondarySelection ${fg},$br_black+i
set-face global PrimaryCursor $bg,$red+b
set-face global SecondaryCursor $black,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
set-face global MenuForeground $cyan,$br_black+b
set-face global MenuBackground $fg,$black
set-face global Information $br_yellow,$black
set-face global Error $black,$br_red
set-face global BufferPadding $black,$black
set-face global Whitespace $white
set-face global StatusLine $fg,$black
set-face global StatusLineInfo $yellow,$black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -0,0 +1,90 @@
####################
# SELENIZED LIGHT #
####################
# theme by Jan Warchoł
# ported by TeddyDD
evaluate-commands %sh{
bg='rgb:fbf3db'
black='rgb:ece3cc'
br_black='rgb:d5cdb6'
white='rgb:909995'
fg='rgb:53676d'
br_white='rgb:3a4d53'
red='rgb:d2212d'
green='rgb:489100'
yellow='rgb:ad8900'
blue='rgb:0072d4'
magenta='rgb:ca4898'
cyan='rgb:009c8f'
orange='rgb:c25d1e'
violet='rgb:8762c6'
br_red='rgb:cc1729'
br_green='rgb:428b00'
br_yellow='rgb:a78300'
br_blue='rgb:006dce'
br_magenta='rgb:c44392'
br_cyan='rgb:00978a'
br_orange='rgb:bc5819'
br_violet='rgb:825dc0'
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${green}
set-face global function ${br_cyan}
set-face global string ${green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${br_black}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
"
## markup
echo "
set-face global title ${blue}+u
set-face global header ${br_cyan}
set-face global bold ${br_orange}+b
set-face global italic ${orange}+i
set-face global mono ${green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
"
echo "
set-face global Default ${br_white},${bg}
set-face global PrimarySelection ${fg},$br_black+i
set-face global SecondarySelection $black,$white
set-face global PrimaryCursor $black,$red+b
set-face global SecondaryCursor $bg,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
# when item focused in menu
set-face global MenuForeground $orange,$br_black+d
# default bottom menu and autocomplete
set-face global MenuBackground $fg,$black
set-face global Information $yellow,$black
set-face global Error $black,$red
set-face global BufferPadding $black,$black
set-face global Whitespace $br_black
set-face global StatusLine $fg,$br_black
set-face global StatusLineInfo $blue,$br_black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -0,0 +1,90 @@
###################
# SELENIZED WHITE #
###################
# theme by Jan Warchoł
# ported by Delapouite
evaluate-commands %sh{
bg='rgb:ffffff'
black='rgb:ebebeb'
br_black='rgb:cdcdcd'
white='rgb:878787'
fg='rgb:474747'
br_white='rgb:282828'
red='rgb:d6000c'
green='rgb:1d9700'
yellow='rgb:c49700'
blue='rgb:0064e4'
magenta='rgb:dd0f9d'
cyan='rgb:00ad9c'
orange='rgb:d04a00'
violet='rgb:7f51d6'
br_red='rgb:bf0000'
br_green='rgb:008400'
br_yellow='rgb:af8500'
br_blue='rgb:0054cf'
br_magenta='rgb:c7008b'
br_cyan='rgb:009a8a'
br_orange='rgb:ba3700'
br_violet='rgb:6b40c3'
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${green}
set-face global function ${br_cyan}
set-face global string ${green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${br_black}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
"
## markup
echo "
set-face global title ${blue}+u
set-face global header ${br_cyan}
set-face global bold ${br_orange}+b
set-face global italic ${orange}+i
set-face global mono ${green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
"
echo "
set-face global Default ${br_white},${bg}
set-face global PrimarySelection ${fg},$br_black+i
set-face global SecondarySelection $black,$white
set-face global PrimaryCursor $black,$red+b
set-face global SecondaryCursor $bg,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
# when item focused in menu
set-face global MenuForeground $orange,$br_black+d
# default bottom menu and autocomplete
set-face global MenuBackground $fg,$black
set-face global Information $yellow,$black
set-face global Error $black,$red
set-face global BufferPadding $black,$black
set-face global Whitespace $br_black
set-face global StatusLine $fg,$br_black
set-face global StatusLineInfo $blue,$br_black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -1,23 +1,49 @@
source "%val{config}/plugins/plug.kak/rc/plug.kak"
plug "andreyorst/fzf.kak"
plug "TeddyDD/kakoune-selenized" theme
plug "robertmeta/plug.kak" noload config %{
set global plug_always_ensure true
set global plug_max_active_downloads 25
}
plug "alexherbo2/connect.kak"
plug "kak-lsp/kak-lsp" do %{
cargo install --locked --force --path .
}
plug 'delapouite/kakoune-buffers' %{
# map global normal ^ q
# map global normal <a-^> Q
# map global normal q b
# map global normal Q B
# map global normal <a-q> <a-b>
# map global normal <a-Q> <a-B>
# map global normal b ': enter-buffers-mode<ret>' -docstring 'buffers'
# map global normal B ': enter-user-mode -lock buffers<ret>' -docstring 'buffers (lock)'
}
map global normal <c-p> ': fzf-mode<ret>'
# eval %sh{kak-lsp --kakoune -s $kak_session}
hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp|nim) %{
lsp-enable-window
}
map global normal D '<a-l>d' -docstring 'delete to end of line'
map global normal Y '<a-l>y' -docstring 'yank to end of line'
hook global InsertChar k %{ try %{
exec -draft hh <a-k>jk<ret> d
exec <esc>
}}
hook global InsertChar j %{ try %{
exec -draft hh <a-k>jj<ret> d
exec -draft hH <a-k>jk<ret> d
exec <esc>
}}
map global normal '^' '<a-h>' -docstring 'jump to start of line'
# add-highlighter global/show-trailing-whitespaces regex '\h+$' 0:Error
# add-highlighter global show-matching
set global tabstop 2
set global indentwidth 2
set-option global fzf_file_command 'rg'
face global Information white,black
face global MenuBackground white,black
face global MenuForeground black,blue
face global PrimarySelection black,blue
face global PrimarySelection black,white
face global MatchingChar default,bright-black

6
apps/kanshi/config Normal file
View file

@ -0,0 +1,6 @@
profile desktop-H {
output "Samsung Electric Company CF791 HTRJ500315" enable mode 3440x1440@100Hz position 1440,560 scale 1 transform normal
output "Dell Inc. DELL U2719DC 5DL4QS2" enable mode 2560x1440@60Hz position 0,0 scale 1 transform 90
output "Dell Inc. DELL U2719DC 9DL4QS2" enable mode 2560x1440@60Hz position 4880,0 scale 1 transform 270
exec "$HOME/.config/dotfiles/apps/kanshi/desktop-H-workspaces.sh"
}

View file

@ -0,0 +1,24 @@
#!/usr/bin/env sh
set -x
uw='Samsung Electric Company CF791 HTRJ500315'
l='Dell Inc. DELL U2719DC 5DL4QS2'
r='Dell Inc. DELL U2719DC 9DL4QS2'
mws() {
swaymsg workspace "$1", move workspace to output "\"$2\""
}
mws 5 "$l"
mws 6 "$l"
mws 4 "$l"
mws 8 "$r"
mws 9 "$r"
mws 7 "$r"
mws 2 "$uw"
mws 3 "$uw"
mws 1 "$uw"

28
apps/mpd/mpd.conf Normal file
View file

@ -0,0 +1,28 @@
auto_update "yes"
audio_output {
type "pulse"
name "pulse audio"
}
db_file "~/.local/mpd/database"
log_file "syslog"
pid_file "~/.local/mpd/pid"
state_file "~/.local/mpd/pid"
sticker_file "~/.local/mpd/sticker.sql"
playlist_directory "~/../music/mpd-playlists"
music_directory "~/../music"
# bind_to_address "~/.local/mpd/socket"
bind_to_address "any"
port "6600"
restore_paused "yes"
log_level "verbose"
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}

7
apps/ncmpcpp/config Normal file
View file

@ -0,0 +1,7 @@
mpd_music_dir = "~/../music"
lyrics_directory = ~/.ncmpcpp/lyrics
ncmpcpp_directory = ~/.ncmpcpp
mpd_host = "localhost"
mpd_port = "6600"
mpd_connection_timeout = "5"
mpd_crossfade_time = "5"

View file

@ -51,24 +51,24 @@ else
endif
Plug 'junegunn/vim-plug' " plugin manager should manage itself
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} " fuzzy file finding
Plug 'junegunn/fzf.vim' " helpers for using fzf in vim
Plug 'vim-airline/vim-airline' " status line
Plug 'vim-airline/vim-airline-themes' " more minimal status line
Plug 'nathanaelkane/vim-indent-guides' " indentation guides
Plug 'SirVer/ultisnips' " snippet manager
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} " fuzzy file finding
Plug 'junegunn/fzf.vim' " helpers for using fzf in vim
Plug 'bkad/CamelCaseMotion' " camel case and underscore word movements
Plug 'vim-scripts/LargeFile' " gracefully handle very large files
Plug 'tpope/vim-commentary' " toggle comments in code easily
Plug 'tpope/vim-repeat' " better vim repeating for plugin-provided actions
Plug 'vim-scripts/SyntaxRange' " defined different syntax ranges in a file for highlighting
Plug 'tmux-plugins/vim-tmux-focus-events' " allow transitions within tmux
Plug 'christoomey/vim-tmux-navigator' " allow transitions within tmux
Plug 'godlygeek/tabular' " align text
Plug 'vim-scripts/SyntaxRange' " define syntax ranges
Plug 'tmux-plugins/vim-tmux-focus-events' " allow transitions from tmux
Plug 'christoomey/vim-tmux-navigator' " allow transitions to tmux
Plug 'godlygeek/tabular' " commands for aligning text
Plug 'lytedev/vim-superman' " view man pages with vim
Plug 'machakann/vim-sandwich' " quickly modify text surrounding objects
Plug 'tpope/vim-speeddating' " vim knows about date-like text objects
Plug 'tpope/vim-fugitive' " vim git commands
Plug 'tpope/vim-speeddating' " date-like text objects
Plug 'tpope/vim-fugitive' " git commands
Plug 'michaeljsmith/vim-indent-object' " adds an indentation level text object
Plug 'wellle/targets.vim' " adds some more handy text objects
Plug 'dbakker/vim-projectroot' " adds helper functions for getting to a project's root directory
@ -76,8 +76,6 @@ Plug 'junegunn/goyo.vim' " better distrac
Plug 'junegunn/limelight.vim' " dim inactive blocks of code
Plug 'tpope/vim-sleuth' " try and detect indent method
Plug 'editorconfig/editorconfig-vim' " loads project-specific editor settings
Plug 'leafo/moonscript-vim', {'for': ['moon', 'moonscript']} " moonscript language
Plug 'OmniSharp/omnisharp-vim', {'for': ['cs']} " C# language
Plug 'scrooloose/nerdtree' " file browser
Plug 'tpope/vim-eunuch' " unix helper commands
Plug 'mbbill/undotree' " undo tree visualizer
@ -85,15 +83,16 @@ Plug 'mbbill/undotree' " undo tree visu
" language support
Plug 'sheerun/vim-polyglot' " vim plugin loader for many languages
Plug 'OmniSharp/omnisharp-vim', {'for': ['cs']} " C# language
Plug 'leafo/moonscript-vim', {'for': ['moon', 'moonscript']} " moonscript language
Plug 'OmniSharp/omnisharp-vim', {'for': ['cs']} " C# language
Plug 'neoclide/coc.nvim', {'branch': 'release'} " language server interface
Plug 'elixir-lsp/elixir-ls', {'for': ['elixir', 'eelixir'], 'do': { -> g:elixirls.compile() }}
Plug 'tpope/vim-dadbod' " vim
" Plug 'neoclide/coc.nvim', {'branch': 'release'} " language server interface
Plug 'neovim/nvim-lspconfig' " neovim-native language server interface
Plug 'tpope/vim-dadbod' " vim database functions
Plug 'lytedev/elm-vim', {'for': ['elm']} " elm lang
Plug 'google/vim-jsonnet', {'for': ['jsonnet', 'libsonnet']} " jsonnet
Plug 'sirtaj/vim-openscad', {'for': ['scad']} " openscad
Plug 'jjo/vim-cue'
Plug 'chrisbra/csv.vim'
Plug 'jjo/vim-cue' " cuelang
Plug 'calviken/vim-gdscript3', {'for': ['gdscript']} " godot scripts
" Plug 'chrisbra/csv.vim'
" Plug 'ssh://git@git.lyte.dev:2222/lytedev/vim-lytlang.git'

View file

@ -1,6 +1,7 @@
#!/usr/bin/env bash
LAUNCHER_HISTORY_FILE="$ENV_PATH/launch.log"
LAUNCHER_HISTORY_FILE="$HOME/.local/share/lytelaunch/launch.log"
mkdir --parents "$(dirname "$LAUNCHER_HISTORY_FILE")"
touch "$LAUNCHER_HISTORY_FILE"
app="$(
< "$LAUNCHER_HISTORY_FILE" \

View file

@ -14,6 +14,7 @@ pacaur --needed -S \
openssh mosh `# Remote Access` \
openssl `# Crypto` \
erlang elixir `# Elixir Language` \
asdf-vm `# Runtime Version Manager` \
nodejs npm yarn `# JavaScript Runtime` \
python python-pip `# Python 3 Language` \
pass `# Password Management` \
@ -39,6 +40,7 @@ pacaur --needed -S \
bspwm-git sxhkd-git xdo-git `# Window Manager and Tools for its use` \
wlroots-git sway-git `# Wayland Compositor` \
swaylock `# Wayland Compositor` \
kanshi `# Monitor Management for Wayland` \
waybar mako `# Wayland Bar & Notifications` \
slurp grim wl-clipboard `# Wayland Screen Selection & Clipping` \
wl-clipboard `# Wayland Clipboard CLI` \

View file

@ -1,8 +0,0 @@
#!/usr/bin/env bash
if is_wayland; then
swaylock &
else
dm-tool switch-to-greeter &
fi
sudo systemctl suspend

3
env/desktop/bin/reboot-to-windows vendored Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env sh
sudo efibootmgr -n 0000
sudo reboot

View file

@ -1,27 +1,27 @@
exec swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 000000'
# shared
workspace 1 output DP-1
workspace 2 output DP-1
workspace 3 output DP-1
# workspace 1 output DP-1
# workspace 2 output DP-1
# workspace 3 output DP-1
# --I format
# output DP-1 res 3440x1440@100Hz pos 2560 720
# output DP-2 res 2560x1440@60Hz pos 0 0
# output DP-4 res 2560x1440@60Hz pos 6000 0 transform 270
workspace 4 output DP-2
workspace 5 output DP-2
workspace 6 output DP-2
workspace 7 output DP-4
workspace 8 output DP-4
workspace 9 output DP-4
# workspace 4 output DP-2
# workspace 5 output DP-2
# workspace 6 output DP-2
# workspace 7 output DP-4
# workspace 8 output DP-4
# workspace 9 output DP-4
# H format
output DP-1 res 3440x1440@100Hz pos 1440 560
output DP-2 res 2560x1440@60Hz pos 0 0 transform 90
output DP-3 res 2560x1440@60Hz pos 0 0 transform 90
output DP-4 res 2560x1440@60Hz pos 4880 0 transform 270
output DP-5 res 2560x1440@60Hz pos 4880 0 transform 270
# output DP-1 res 3440x1440@100Hz pos 1440 560
# output DP-2 res 2560x1440@60Hz pos 0 0 transform 90
# output DP-3 res 2560x1440@60Hz pos 0 0 transform 90
# output DP-4 res 2560x1440@60Hz pos 4880 0 transform 270
# output DP-5 res 2560x1440@60Hz pos 4880 0 transform 270
# iIi format
# output DP-1 res 3440x1440@100Hz pos 1440 0 transform 90

View file

@ -1,7 +1,7 @@
# TODO: setup displays (when docked for work?)
output eDP-1 res 1600x900 pos 0 0
exec libinput-gestures -c $HOME/.config/dotfiles/apps/de/libinput/sway-gestures.conf
exec gammastep -t 6500:3500 -l 39.0:-94.5
exec swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 000000'
bindswitch lid:toggle exec swaylock

View file

@ -27,6 +27,10 @@
# TODO: setup caps-lock as Control/Escape?
# console.font = "TER16x32";
services.xserver.displayManager.lightdm.greeters.gtk.extraConfig = ''
xft-dpi=260
'';
# services.upower = {
# enable = true;
# criticalPowerAction = "Hibernate";

View file

@ -18,6 +18,20 @@
firewall.enable = false;
};
console.useXkbConfig = true;
services.xserver.xkbOptions = "ctrl:nocaps";
environment = {
systemPackages = with pkgs; [ ntfs3g ];
};
fileSystems."/storage/ext".options = [ "defaults" "user" "nofail" ];
fileSystems."/storage/butter".options = [ "defaults" "auto" "nofail" ];
fileSystems."/storage/windows" = {
device = "/dev/disk/by-uuid/AE624593624560E7";
fsType = "ntfs";
options = [ "defaults" "auto" "nofail" ];
};
fileSystems."/storage/shared" = {
device = "/dev/disk/by-uuid/26F6144A6B518523";
fsType = "ntfs";
options = [ "defaults" "auto" "nofail" ];
};
}

View file

@ -10,14 +10,14 @@ in {
extraPackages = with pkgs; [
swaylock
swayidle
unstable.xwayland
mako
unstable.mako
waybar
kanshi
wl-clipboard
slurp
grim
font-awesome
unstable.font-awesome
unstable.xwayland
unstable.kanshi
unstable.gammastep
];
extraSessionCommands = ''

View file

@ -1,5 +1,11 @@
{ config, pkgs, ... }: {
environment.systemPackages = [ pkgs.fish ];
programs.fish.enable = true;
{ config, pkgs, ... }:
let
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in {
programs.fish = {
enable = true;
};
environment.systemPackages = [ unstable.fish ];
}

View file

@ -15,7 +15,6 @@
};
clock-format = "%H:%M:%S";
extraConfig = ''
xft-dpi=260
font-name=Iosevka
'';
};

View file

@ -33,7 +33,8 @@
autoconf
ncurses
weechat
# thunar thunar-archive-plugin thunar-volman
jq
xfce.thunar xfce.thunar-archive-plugin # xfce.thunar-volman
];
};
}

81
init.sh Executable file
View file

@ -0,0 +1,81 @@
#!/usr/bin/env sh
# NOTE: run this from inside a NixOS installation, not from the live USB/CD
rhome="/root"
home="/home/daniel/.home"
nhome="/home/daniel"
cfd="/.config/dotfiles"
add_unstable_channel() {
nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --update
}
clone_dotfiles() {
echo "Setting up dotfiles for root..."
mkdir --parents "$1"
git clone "https://git.lyte.dev/lytedev/dotfiles" "$1"
}
symlink_nixos() {
rm --force "/etc/nixos/lytedev"
ln --symbolic "$1" "/etc/nixos/lytedev"
}
setup_wallpaper() {
mkdir --parents "$nhome/img/walls"
curl --silent --output "$nhome/img/walls/clouds_by_souredapply.png" \
"https://art.ngfiles.com/images/530000/530895_souredapple_clouds.png"
rm --recursive --force "$home/.wallpaper"
ln --symbolic "$nhome/img/walls/clouds_by_souredapply.png" "$home/.wallpaper"
}
generate_ssh_key() {
mkdir --mode 600 --parents "$home/.ssh"
ssh-keygen -N '' -t ed25519 -f "$home/.ssh/$(hostname --short)"
mkdir --mode 640 --parents "$nhome/public"
cp "$home/.ssh/$(hostname --short).pub" "$nhome/public"
}
fix_dotfiles_origin() {
cd "$home$cfd"
git remote set-url origin "ssh://git@git.lyte.dev:2222/lytedev/dotfiles.git"
}
init_for_root() {
clone_dotfiles "$rhome$cfd"
symlink_nixos "$rhome$cfd/env/nix/"
add_unstable_channel
nixos-rebuild switch
chown daniel:users "$home"
echo "Re-running as user daniel..."
sudo --user daniel "$rhome$cfd/init.sh"
}
init_for_daniel() {
clone_dotfiles "$home$cfd"
generate_ssh_key
symlink_nixos "$home$cfd/env/nix/"
setup_wallpaper
# TODO: setup ssh/gpg keys
# TODO: setup password store
fix_dotfiles_origin
}
if [ "$EUID" -eq 0 ]
init_for_root
else
init_for_daniel
fi
echo "Here is this machine's public SSH key:"
echo " $(cat "$home/.ssh/$(hostname --short).pub")"
echo "It needs to be added to existing cloud-based git accounts"
echo "and other machines before proceeding."
echo
echo "Don't forget to setup GPG keys by importing from an existing machine"
echo "or adding new child keys!"
echo
echo "The simplest method for doing this is to run the following:"
echo ' scp -r "$TARGET_MACHINE:~/.gnupg" "$HOME/.gnupg"

View file

@ -1,5 +1,7 @@
# dotfiles by lytedev
curl -s -L https://git.lyte.dev/lytedev/dotfiles/raw/branch/nixos/init.sh
[🖥️ Upstream][upstream] • [🐙 GitHub Mirror][github]
![Desktop Screenshot][desktop-screenshot]

View file

@ -117,8 +117,17 @@ links=(
# XDG user directories
"apps/shell/user-dirs" "$XDG_CONFIG_HOME/user-dirs.dirs"
# Music Player Daemon
"apps/mpd" "$XDG_CONFIG_HOME/mpd"
# MPD client
"apps/ncmpcpp" "$HOME/.ncmpcpp"
# XDG user directories
"env/nix/pkgs" "$XDG_CONFIG_HOME/nixpkgs"
# Kanshi configuration
"apps/kanshi" "$XDG_CONFIG_HOME/kanshi"
)
chmod 700 -R "$HOME/.bin"