diff --git a/boxes/x230t/default.nix b/boxes/x230t/default.nix index 1239e63..41d48e3 100644 --- a/boxes/x230t/default.nix +++ b/boxes/x230t/default.nix @@ -18,18 +18,24 @@ environment.systemPackages = with pkgs; [ xscreensaver - thunderbird - hue-cli - texliveSmall - latexrun + texliveMedium + libreoffice - strawberry + ecryptfs + ffmpeg ]; hardware.bluetooth = { enable = true; }; + services.printing.enable = true; + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + services.udev.extraRules = '' ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-20]*", ENV{ID_INPUT_TOUCHSCREEN}=="1", MODE:="0666" GROUP="usr", SYMLINK+="input/touchscreen" ''; diff --git a/builds/utils/sh/khalmacs b/builds/utils/sh/khalmacs new file mode 100755 index 0000000..8458bfb --- /dev/null +++ b/builds/utils/sh/khalmacs @@ -0,0 +1,26 @@ +#!/bin/sh + +case $1 in + "regular") + khal new -a home $2 07:40 08:28 Spanish I H + khal new -a home $2 08:34 09:21 AP Human Geography + khal new -a home $2 09:27 09:52 SAIL + khal new -a home $2 09:58 10:45 Symphonic Band + khal new -a home $2 10:51 11:38 English I H + khal new -a home $2 11:38 12:07 Lunch + khal new -a home $2 12:13 13:00 Biology I H + khal new -a home $2 13:06 13:53 Study Hall + khal new -a home $2 13:59 14:47 Algebra II H + ;; + "late") + khal new -a home $2 08:40 08:28 Spanish I H + khal new -a home $2 08:34 09:21 AP Human Geography + khal new -a home $2 09:27 09:52 SAIL + khal new -a home $2 09:58 10:45 Symphonic Band + khal new -a home $2 10:51 11:38 English I H + khal new -a home $2 11:38 12:07 Lunch + khal new -a home $2 12:13 13:00 Biology I H + khal new -a home $2 13:06 13:53 Study Hall + khal new -a home $2 13:59 14:47 Algebra II H + ;; +esac diff --git a/builds/utils/sh/tabletmenu b/builds/utils/sh/tabletmenu index 337d0f2..692903a 100755 --- a/builds/utils/sh/tabletmenu +++ b/builds/utils/sh/tabletmenu @@ -9,6 +9,7 @@ nokeyb musexplore brave chromium +run close-wind " | tmenu ) @@ -40,6 +41,9 @@ case "$choice" in "chromium") chromium ;; + "run") + tmenu_run + ;; "close-wind") bspc node -c ;; diff --git a/flake.nix b/flake.nix index 147dc02..7e8a58d 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,9 @@ simple-nixos-mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.11"; }; + nix-colors = { + url = "github:misterio77/nix-colors"; + }; # nix-on-droid inputs phone-nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; diff --git a/home/bspwm/default.nix b/home/bspwm/default.nix index f471784..3ef8783 100644 --- a/home/bspwm/default.nix +++ b/home/bspwm/default.nix @@ -2,6 +2,9 @@ { # program activation is managed by nixos config + home.packages = with pkgs; [ + bspwm + ]; home.file = { ".config/bspwm/bspwmrc" = { diff --git a/home/elinks/default.nix b/home/elinks/default.nix new file mode 100644 index 0000000..fff2b13 --- /dev/null +++ b/home/elinks/default.nix @@ -0,0 +1,13 @@ +{ lib, config, pkgs, home, ... }: + +{ + home.packages = [ + (pkgs.callPackage ./elinks.nix {}) + ]; + + home.file = { + ".config/elinks/elinks.conf" = { + source = ./elinks.conf; + }; + }; +} diff --git a/home/elinks/elinks.conf b/home/elinks/elinks.conf new file mode 100644 index 0000000..4a09bfa --- /dev/null +++ b/home/elinks/elinks.conf @@ -0,0 +1,524 @@ +## ELinks 0.16.1.1 configuration file + +## This is ELinks configuration file. You can edit it manually, +## if you wish so; this file is edited by ELinks when you save +## options through UI, however only option values will be altered +## and missing options will be added at the end of file; if option +## is not written in this file, but in some file included from it, +## it is NOT counted as missing. Note that all your formatting, +## own comments and so on will be kept as-is. +## +## Obviously, if you don't like what ELinks is going to do with +## this file, you can change it by altering the config.saving_style +## option. Come on, aren't we friendly guys after all? + + + +############################## +# Automatically saved options +# + +## config +# Configuration handling options. + + ## config.saving_style_w [0|1] + # This is internal option used when displaying a warning about obsolete + # config.saving_style. You shouldn't touch it. + set config.saving_style_w = 1 + + +## terminal +# Terminal options. + + ## terminal.st-256color + # Options specific to this terminal type (according to $TERM value). + + ## terminal.st-256color.transparency [0|1] + set terminal.st-256color.transparency = 1 + + +## ui +# User interface options. + + ## ui.language + # Language of user interface. 'System' means that the language will be + # extracted from the environment dynamically. + set ui.language = "System" + + + + + +############################## +# Automatically saved options +# + +## terminal +# Terminal options. + + ## terminal.st-256color + # Options specific to this terminal type (according to $TERM value). + + ## terminal.st-256color.colors + set terminal.st-256color.colors = 1 + + + + + +############################## +# Automatically saved options +# + +## cookies +# Cookies options. + + ## cookies.accept_policy + # Cookies accepting policy: + # 0 is accept no cookies + # 1 is ask for confirmation before accepting cookie + # 2 is accept all cookies + set cookies.accept_policy = 0 + + +## ui +# User interface options. + + ## ui.colors + # Default user interface color settings. + + ## ui.colors.color + # Color settings for color terminal. + + ## ui.colors.color.mainmenu + # Main menu bar colors. + + ## ui.colors.color.mainmenu.normal + # Unselected main menu bar item colors. + + ## ui.colors.color.mainmenu.normal.text + # Default text color. + set ui.colors.color.mainmenu.normal.text = "white" + + ## ui.colors.color.mainmenu.normal.background + # Default background color. + set ui.colors.color.mainmenu.normal.background = "black" + + + ## ui.colors.color.mainmenu.selected + # Selected main menu bar item colors. + + ## ui.colors.color.mainmenu.selected.text + # Default text color. + set ui.colors.color.mainmenu.selected.text = "black" + + ## ui.colors.color.mainmenu.selected.background + # Default background color. + set ui.colors.color.mainmenu.selected.background = "white" + + + ## ui.colors.color.mainmenu.hotkey + # Main menu hotkey colors. + + ## ui.colors.color.mainmenu.hotkey.normal + # Main menu unselected hotkey colors. + + ## ui.colors.color.mainmenu.hotkey.normal.text + # Default text color. + set ui.colors.color.mainmenu.hotkey.normal.text = "black" + + ## ui.colors.color.mainmenu.hotkey.normal.background + # Default background color. + set ui.colors.color.mainmenu.hotkey.normal.background = "white" + + + ## ui.colors.color.mainmenu.hotkey.selected + # Main menu selected hotkey colors. + + ## ui.colors.color.mainmenu.hotkey.selected.text + # Default text color. + set ui.colors.color.mainmenu.hotkey.selected.text = "white" + + ## ui.colors.color.mainmenu.hotkey.selected.background + # Default background color. + set ui.colors.color.mainmenu.hotkey.selected.background = "black" + + + + + ## ui.colors.color.menu + # Menu bar colors. + + ## ui.colors.color.menu.normal + # Unselected menu item colors. + + ## ui.colors.color.menu.normal.text + # Default text color. + set ui.colors.color.menu.normal.text = "white" + + ## ui.colors.color.menu.normal.background + # Default background color. + set ui.colors.color.menu.normal.background = "black" + + + ## ui.colors.color.menu.selected + # Selected menu item colors. + + ## ui.colors.color.menu.selected.text + # Default text color. + set ui.colors.color.menu.selected.text = "black" + + ## ui.colors.color.menu.selected.background + # Default background color. + set ui.colors.color.menu.selected.background = "white" + + + ## ui.colors.color.menu.marked + # Marked menu item colors. + + ## ui.colors.color.menu.marked.text + # Default text color. + set ui.colors.color.menu.marked.text = "red" + + ## ui.colors.color.menu.marked.background + # Default background color. + set ui.colors.color.menu.marked.background = "black" + + + ## ui.colors.color.menu.hotkey + # Menu item hotkey colors. + + ## ui.colors.color.menu.hotkey.normal + # Menu item unselected hotkey colors. + + ## ui.colors.color.menu.hotkey.normal.text + # Default text color. + set ui.colors.color.menu.hotkey.normal.text = "black" + + ## ui.colors.color.menu.hotkey.normal.background + # Default background color. + set ui.colors.color.menu.hotkey.normal.background = "white" + + + ## ui.colors.color.menu.hotkey.selected + # Menu item selected hotkey colors. + + ## ui.colors.color.menu.hotkey.selected.text + # Default text color. + set ui.colors.color.menu.hotkey.selected.text = "white" + + ## ui.colors.color.menu.hotkey.selected.background + # Default background color. + set ui.colors.color.menu.hotkey.selected.background = "black" + + + + ## ui.colors.color.menu.frame + # Menu frame colors. + + ## ui.colors.color.menu.frame.text + # Default text color. + set ui.colors.color.menu.frame.text = "white" + + ## ui.colors.color.menu.frame.background + # Default background color. + set ui.colors.color.menu.frame.background = "black" + + + + ## ui.colors.color.dialog + # Dialog colors. + + ## ui.colors.color.dialog.generic + # Generic dialog colors. + + ## ui.colors.color.dialog.generic.text + # Default text color. + set ui.colors.color.dialog.generic.text = "white" + + ## ui.colors.color.dialog.generic.background + # Default background color. + set ui.colors.color.dialog.generic.background = "black" + + + ## ui.colors.color.dialog.frame + # Dialog frame colors. + + ## ui.colors.color.dialog.frame.text + # Default text color. + set ui.colors.color.dialog.frame.text = "white" + + ## ui.colors.color.dialog.frame.background + # Default background color. + set ui.colors.color.dialog.frame.background = "black" + + + ## ui.colors.color.dialog.title + # Dialog title colors. + + ## ui.colors.color.dialog.title.text + # Default text color. + set ui.colors.color.dialog.title.text = "white" + + ## ui.colors.color.dialog.title.background + # Default background color. + set ui.colors.color.dialog.title.background = "black" + + + ## ui.colors.color.dialog.text + # Dialog text colors. + + ## ui.colors.color.dialog.text.text + # Default text color. + set ui.colors.color.dialog.text.text = "white" + + ## ui.colors.color.dialog.text.background + # Default background color. + set ui.colors.color.dialog.text.background = "black" + + + ## ui.colors.color.dialog.checkbox + # Dialog checkbox colors. + + ## ui.colors.color.dialog.checkbox.text + # Default text color. + set ui.colors.color.dialog.checkbox.text = "darkred" + + ## ui.colors.color.dialog.checkbox.background + # Default background color. + set ui.colors.color.dialog.checkbox.background = "black" + + + ## ui.colors.color.dialog.checkbox-selected + # Dialog selected checkbox colors. + + ## ui.colors.color.dialog.checkbox-selected.text + # Default text color. + set ui.colors.color.dialog.checkbox-selected.text = "yellow" + + + + ## ui.colors.color.title + # Title bar colors. + + ## ui.colors.color.title.title-bar + # Generic title bar colors. + + ## ui.colors.color.title.title-bar.text + # Default text color. + set ui.colors.color.title.title-bar.text = "white" + + ## ui.colors.color.title.title-bar.background + # Default background color. + set ui.colors.color.title.title-bar.background = "black" + + + ## ui.colors.color.title.title-text + # Title bar text colors. + + ## ui.colors.color.title.title-text.text + # Default text color. + set ui.colors.color.title.title-text.text = "white" + + ## ui.colors.color.title.title-text.background + # Default background color. + set ui.colors.color.title.title-text.background = "black" + + + + ## ui.colors.color.status + # Status bar colors. + + ## ui.colors.color.status.showip-text + # Status bar show ip text colors. + + ## ui.colors.color.status.showip-text.text + # Default text color. + set ui.colors.color.status.showip-text.text = "white" + + ## ui.colors.color.status.showip-text.background + # Default background color. + set ui.colors.color.status.showip-text.background = "black" + + + ## ui.colors.color.status.status-bar + # Generic status bar colors. + + ## ui.colors.color.status.status-bar.text + # Default text color. + set ui.colors.color.status.status-bar.text = "white" + + ## ui.colors.color.status.status-bar.background + # Default background color. + set ui.colors.color.status.status-bar.background = "black" + + + ## ui.colors.color.status.status-text + # Status bar text colors. + + ## ui.colors.color.status.status-text.text + # Default text color. + set ui.colors.color.status.status-text.text = "white" + + ## ui.colors.color.status.status-text.background + # Default background color. + set ui.colors.color.status.status-text.background = "black" + + + + ## ui.colors.color.tabs + # Tabs bar colors. + + ## ui.colors.color.tabs.unvisited + # Tab colors for tabs that have not been selected since they completed + # loading. + + ## ui.colors.color.tabs.unvisited.text + # Default text color. + set ui.colors.color.tabs.unvisited.text = "white" + + ## ui.colors.color.tabs.unvisited.background + # Default background color. + set ui.colors.color.tabs.unvisited.background = "black" + + + ## ui.colors.color.tabs.normal + # Unselected tab colors. + + ## ui.colors.color.tabs.normal.text + # Default text color. + set ui.colors.color.tabs.normal.text = "white" + + ## ui.colors.color.tabs.normal.background + # Default background color. + set ui.colors.color.tabs.normal.background = "black" + + + ## ui.colors.color.tabs.loading + # Tab colors for tabs that are loading in the background. + + ## ui.colors.color.tabs.loading.text + # Default text color. + set ui.colors.color.tabs.loading.text = "darkred" + + ## ui.colors.color.tabs.loading.background + # Default background color. + set ui.colors.color.tabs.loading.background = "black" + + + ## ui.colors.color.tabs.selected + # Selected tab colors. + + ## ui.colors.color.tabs.selected.text + # Default text color. + set ui.colors.color.tabs.selected.text = "black" + + ## ui.colors.color.tabs.selected.background + # Default background color. + set ui.colors.color.tabs.selected.background = "white" + + + ## ui.colors.color.tabs.separator + # Tab separator colors. + + ## ui.colors.color.tabs.separator.text + # Default text color. + set ui.colors.color.tabs.separator.text = "white" + + ## ui.colors.color.tabs.separator.background + # Default background color. + set ui.colors.color.tabs.separator.background = "black" + + + + ## ui.colors.color.desktop + # Desktop background. + + ## ui.colors.color.desktop.text + # Default text color. + set ui.colors.color.desktop.text = "white" + + ## ui.colors.color.desktop.background + # Default background color. + set ui.colors.color.desktop.background = "black" + + + + + ## ui.background_char + # Integer value of background character. + set ui.background_char = 32 + + ## ui.show_ip [0|1] + # Whether to display IP of the document in the status bar. + set ui.show_ip = 1 + + ## ui.show_menu_bar_always [0|1] + # Always show menu bar on the screen. + set ui.show_menu_bar_always = 1 + + ## ui.show_status_bar [0|1] + # Show status bar on the screen. + set ui.show_status_bar = 1 + + ## ui.show_title_bar [0|1] + # Show title bar on the screen. + set ui.show_title_bar = 1 + + + + + +################################## +# Automatically saved keybindings +# + +bind "main" "k" = "none" + + + +############################## +# Automatically saved options +# + +## document +# Document options. + + ## document.colors + # Default document color settings. + + ## document.colors.use_document_colors + # Use colors specified in document: + # 0 is use always the default settings + # 1 is use document colors if available, except background + # 2 is use document colors, including background. This can + # mostly look very impressive, but some sites will appear + # really ugly. Note, that obviously if the background is + # not black, it will break the behaviour of transparency. + set document.colors.use_document_colors = 1 + + + + + + +############################## +# Automatically saved options +# + +## document +# Document options. + + ## document.browse + # Document browsing options (mainly interactivity). + + ## document.browse.forms + # Options for handling of the forms interaction. + + ## document.browse.forms.confirm_submit [0|1] + # Ask for confirmation when submitting a form. + set document.browse.forms.confirm_submit = 0 + + + + diff --git a/home/elinks/elinks.nix b/home/elinks/elinks.nix new file mode 100644 index 0000000..9189bb8 --- /dev/null +++ b/home/elinks/elinks.nix @@ -0,0 +1,49 @@ +{ lib, stdenv, fetchFromGitHub, ncurses, libX11, bzip2, zlib +, brotli, zstd, xz, openssl, autoreconfHook, gettext, pkg-config, libev +, gpm, libidn, tre, expat, luajit +}: + +stdenv.mkDerivation rec { + pname = "elinks"; + version = "0.17.0"; + + src = fetchFromGitHub { + owner = "rkd77"; + repo = "elinks"; + rev = "v${version}"; + hash = "sha256-JeUiMHAqSZxxBe8DplzmzHzsY6KqoBqba0y8GDwaR0Y="; + }; + + buildInputs = [ + ncurses libX11 bzip2 zlib brotli zstd xz + openssl libidn tre expat libev luajit + ] + ++ lib.optional stdenv.isLinux gpm + ; + + nativeBuildInputs = [ autoreconfHook gettext pkg-config ]; + + configureFlags = [ + "--enable-finger" + "--enable-html-highlight" + "--enable-gopher" + "--enable-gemini" + "--enable-cgi" + "--enable-bittorrent" + "--enable-nntp" + "--enable-256-colors" + "--enable-true-color" + "--with-brotli" + "--with-lzma" + "--with-libev" + "--with-terminfo" + ]; + + meta = with lib; { + description = "Full-featured text-mode web browser"; + homepage = "https://github.com/rkd77/elinks"; + license = licenses.gpl2; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ iblech gebner ]; + }; +} diff --git a/home/khal/config b/home/khal/config index c8de783..b5faa72 100644 --- a/home/khal/config +++ b/home/khal/config @@ -5,3 +5,9 @@ color = dark green [[band]] path = "~/vdir/calendar/band" color = dark green +[locale] +timeformat = %H:%M +dateformat = %Y-%m-%d +longdateformat = %Y-%m-%d %a +datetimeformat = %Y-%m-%d %H:%M +longdatetimeformat = %Y-%m-%d %H:%M diff --git a/home/msmtp/config b/home/msmtp/config index 1c04651..74a6374 100644 --- a/home/msmtp/config +++ b/home/msmtp/config @@ -9,4 +9,3 @@ port 587 tls_starttls on from ryan@beepboop.systems user ryan@beepboop.systems -passwordeval "rbw get mail.beepboop.systems" diff --git a/home/nvim/default.nix b/home/nvim/default.nix index dbf278d..8238564 100644 --- a/home/nvim/default.nix +++ b/home/nvim/default.nix @@ -3,6 +3,12 @@ { programs.neovim.enable = true; + home.packages = with pkgs; [ + lua-language-server + texlab + pylyzer + ]; + home.file = { ".config/nvim/init.lua" = { source = ./init.lua; diff --git a/home/nvim/init.lua b/home/nvim/init.lua index 41ce1ad..feaa02d 100644 --- a/home/nvim/init.lua +++ b/home/nvim/init.lua @@ -139,6 +139,7 @@ local packer = require('packer').startup(function(use) use 'hrsh7th/nvim-cmp' use 'hrsh7th/cmp-nvim-lsp' use 'L3MON4D3/LuaSnip' + use 'saadparwaiz1/cmp_luasnip' use 'lervag/vimtex' use 'https://github.com/protex/better-digraphs.nvim' @@ -156,6 +157,19 @@ inoremap('', function() require('better-digraphs').digraphs("insert") end) +-- lsp config {{{ +local lsp_zero = require('lsp-zero') +lsp_zero.on_attach(function(client, bufnr) + -- see :help lsp-zero-keybindings + -- to learn the available actions + lsp_zero.default_keymaps({buffer = bufnr}) +end) + +require('lspconfig').lua_ls.setup({}) +require('lspconfig').texlab.setup({}) +require('lspconfig').pylyzer.setup({}) +-- }}} + -- luasnip configuration {{{ local luasnip = require("luasnip") local ls_extras = require("luasnip.extras") @@ -174,9 +188,9 @@ luasnip.add_snippets("tex", { luasnip.add_snippets("tex", { luasnip.snippet("desc", { - luasnip.text_node({ "\\begin{description}", "\t\\item "}), - luasnip.insert_node(1), - luasnip.text_node({ "", "\\end{description}" }), + luasnip.text_node("\\begin{description}"), + luasnip.text_node({ "", "\t\\item " }), luasnip.insert_node(1), + luasnip.text_node({ "", "\\end{description}" }) }) }) -- }}} diff --git a/home/sxhkd/default.nix b/home/sxhkd/default.nix index 61220f5..e4026c2 100644 --- a/home/sxhkd/default.nix +++ b/home/sxhkd/default.nix @@ -2,6 +2,9 @@ { # managed by nixos configuration + home.packages = with pkgs; [ + sxhkd + ]; home.file = { ".config/sxhkd/sxhkdrc" = { diff --git a/home/tty-progs.nix b/home/tty-progs.nix index e69e739..ec411e8 100644 --- a/home/tty-progs.nix +++ b/home/tty-progs.nix @@ -6,12 +6,17 @@ ncpamixer # audio mixer yt-dlp # youtube downloader tmux # (t)erminal (mu)ltiple(x)er - elinks # tty web browser ledger # accounting neomutt # mail curl tree dig python3 # nice interactive calculator and shell + bluetuith + sshfs + rsync + msmtp + ytfzf + peaclock ]; } diff --git a/home/tty.nix b/home/tty.nix index 475edab..ed93892 100644 --- a/home/tty.nix +++ b/home/tty.nix @@ -8,6 +8,7 @@ ./nvim ./python ./gnupg + ./elinks ./tty-progs.nix ]; diff --git a/home/x11-progs.nix b/home/x11-progs.nix index 82f792b..48d8dfd 100644 --- a/home/x11-progs.nix +++ b/home/x11-progs.nix @@ -10,5 +10,7 @@ xwallpaper xbrightness xdotool + + brave ]; } diff --git a/home/x11.nix b/home/x11.nix index 23cd718..18f3c3b 100644 --- a/home/x11.nix +++ b/home/x11.nix @@ -3,7 +3,6 @@ { imports = [ ./bspwm - ./polybar ./sx ./sxhkd ./tridactyl diff --git a/modules/sxiv.nix b/modules/sxiv.nix deleted file mode 100644 index 8d40af1..0000000 --- a/modules/sxiv.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ lib, config, pkgs, ...}: - -{ - environment.systemPackages = with pkgs; [ - sxiv - ]; -} diff --git a/modules/x11.nix b/modules/x11.nix index 53e563f..569f53d 100644 --- a/modules/x11.nix +++ b/modules/x11.nix @@ -5,26 +5,10 @@ ./gnupg.nix ./fonts.nix ./pulse.nix - ./sxiv.nix ]; environment.systemPackages = with pkgs; [ - bspwm - sxhkd xscreensaver - - # non-x11 things, but common to the desktops - bluetuith - brave - vdirsyncer - isync - khal - todoman - sshfs - rsync - msmtp - ytfzf - peaclock ]; services.xserver = {