From c0c5087218c27e31c3e6f66f3937bff22fa0f647 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Tue, 24 Sep 2024 23:13:51 +0530 Subject: Using nix flake modules to manage the configurations. --- alacritty/default.nix | 72 ----- bash/default.nix | 7 - bat/default.nix | 8 - bat/theme.nix | 124 -------- bspwm/bspwmrc | 3 - bspwm/default.nix | 32 -- flake.nix | 1 + git/default.nix | 14 - home.nix | 37 ++- htop/default.nix | 6 - lf/default.nix | 15 - lf/icons | 334 --------------------- lf/scripts/previewer.sh | 3 - lsd/default.nix | 11 - modules/default.nix | 9 + modules/desktop/default.nix | 11 + modules/desktop/popup-manager/default.nix | 7 + modules/desktop/popup-manager/rofi/default.nix | 13 + .../desktop/popup-manager/rofi/theme/default.nix | 21 ++ .../desktop/popup-manager/rofi/theme/theme.rasi | 76 +++++ modules/desktop/status-bar/default.nix | 7 + modules/desktop/status-bar/polybar/bars/main.nix | 28 ++ modules/desktop/status-bar/polybar/default.nix | 24 ++ .../desktop/status-bar/polybar/modules/battery.nix | 36 +++ .../desktop/status-bar/polybar/modules/bspwm.nix | 22 ++ modules/desktop/status-bar/polybar/modules/cpu.nix | 9 + .../desktop/status-bar/polybar/modules/date.nix | 10 + .../status-bar/polybar/modules/kernel-version.nix | 10 + .../desktop/status-bar/polybar/modules/memory.nix | 9 + .../desktop/status-bar/polybar/modules/time.nix | 10 + .../desktop/status-bar/polybar/modules/xwindow.nix | 7 + modules/desktop/terminal/alacritty/default.nix | 78 +++++ modules/desktop/terminal/default.nix | 7 + modules/desktop/window-manager/bspwm/bspwmrc | 3 + modules/desktop/window-manager/bspwm/default.nix | 38 +++ modules/desktop/window-manager/default.nix | 8 + modules/desktop/window-manager/sxhkd/default.nix | 79 +++++ .../sxhkd/scripts/show-keybindings.sh | 13 + modules/desktop/xresources/default.nix | 7 + modules/desktop/xresources/xinit/default.nix | 14 + modules/desktop/xresources/xinit/xinitrc | 4 + modules/shell/bash/default.nix | 13 + modules/shell/default.nix | 8 + modules/shell/zsh/default.nix | 15 + modules/shell/zsh/zshrc | 19 ++ modules/tools/default.nix | 11 + modules/tools/editor/default.nix | 7 + modules/tools/editor/neovim/default.nix | 43 +++ modules/tools/editor/neovim/keybindings.lua | 8 + modules/tools/editor/neovim/options.lua | 21 ++ modules/tools/editor/neovim/plugins/base16.lua | 6 + modules/tools/editor/neovim/plugins/comment.lua | 1 + modules/tools/editor/neovim/plugins/lualine.lua | 5 + modules/tools/editor/neovim/plugins/nvim-tree.lua | 13 + modules/tools/editor/neovim/plugins/treesitter.nix | 13 + modules/tools/file-manager/default.nix | 8 + modules/tools/file-manager/lf/default.nix | 21 ++ modules/tools/file-manager/lf/icons | 334 +++++++++++++++++++++ modules/tools/file-manager/lf/scripts/previewer.sh | 3 + modules/tools/file-manager/lsd/default.nix | 17 ++ modules/tools/git/default.nix | 20 ++ modules/tools/system-monitor/default.nix | 7 + modules/tools/system-monitor/htop/default.nix | 12 + modules/tools/viewer/bat/default.nix | 14 + modules/tools/viewer/bat/theme.nix | 124 ++++++++ modules/tools/viewer/default.nix | 7 + nvim/default.nix | 37 --- nvim/keybindings.lua | 8 - nvim/options.lua | 21 -- nvim/plugins/base16.lua | 6 - nvim/plugins/comment.lua | 1 - nvim/plugins/lualine.lua | 5 - nvim/plugins/nvim-tree.lua | 13 - nvim/plugins/treesitter.nix | 13 - polybar/bars/main.nix | 28 -- polybar/default.nix | 18 -- polybar/modules/battery.nix | 36 --- polybar/modules/bspwm.nix | 22 -- polybar/modules/cpu.nix | 9 - polybar/modules/date.nix | 10 - polybar/modules/kernel-version.nix | 10 - polybar/modules/memory.nix | 9 - polybar/modules/time.nix | 10 - polybar/modules/xwindow.nix | 7 - rofi/default.nix | 7 - rofi/theme/default.nix | 21 -- rofi/theme/theme.rasi | 76 ----- sxhkd/default.nix | 73 ----- sxhkd/scripts/show-keybindings.sh | 13 - xresources/default.nix | 8 - xresources/xinitrc | 4 - zsh/default.nix | 9 - zsh/zshrc | 19 -- 93 files changed, 1333 insertions(+), 1137 deletions(-) delete mode 100644 alacritty/default.nix delete mode 100644 bash/default.nix delete mode 100644 bat/default.nix delete mode 100644 bat/theme.nix delete mode 100644 bspwm/bspwmrc delete mode 100644 bspwm/default.nix delete mode 100644 git/default.nix delete mode 100644 htop/default.nix delete mode 100644 lf/default.nix delete mode 100644 lf/icons delete mode 100644 lf/scripts/previewer.sh delete mode 100644 lsd/default.nix create mode 100644 modules/default.nix create mode 100644 modules/desktop/default.nix create mode 100644 modules/desktop/popup-manager/default.nix create mode 100644 modules/desktop/popup-manager/rofi/default.nix create mode 100644 modules/desktop/popup-manager/rofi/theme/default.nix create mode 100644 modules/desktop/popup-manager/rofi/theme/theme.rasi create mode 100644 modules/desktop/status-bar/default.nix create mode 100644 modules/desktop/status-bar/polybar/bars/main.nix create mode 100644 modules/desktop/status-bar/polybar/default.nix create mode 100644 modules/desktop/status-bar/polybar/modules/battery.nix create mode 100644 modules/desktop/status-bar/polybar/modules/bspwm.nix create mode 100644 modules/desktop/status-bar/polybar/modules/cpu.nix create mode 100644 modules/desktop/status-bar/polybar/modules/date.nix create mode 100644 modules/desktop/status-bar/polybar/modules/kernel-version.nix create mode 100644 modules/desktop/status-bar/polybar/modules/memory.nix create mode 100644 modules/desktop/status-bar/polybar/modules/time.nix create mode 100644 modules/desktop/status-bar/polybar/modules/xwindow.nix create mode 100644 modules/desktop/terminal/alacritty/default.nix create mode 100644 modules/desktop/terminal/default.nix create mode 100644 modules/desktop/window-manager/bspwm/bspwmrc create mode 100644 modules/desktop/window-manager/bspwm/default.nix create mode 100644 modules/desktop/window-manager/default.nix create mode 100644 modules/desktop/window-manager/sxhkd/default.nix create mode 100644 modules/desktop/window-manager/sxhkd/scripts/show-keybindings.sh create mode 100644 modules/desktop/xresources/default.nix create mode 100644 modules/desktop/xresources/xinit/default.nix create mode 100644 modules/desktop/xresources/xinit/xinitrc create mode 100644 modules/shell/bash/default.nix create mode 100644 modules/shell/default.nix create mode 100644 modules/shell/zsh/default.nix create mode 100644 modules/shell/zsh/zshrc create mode 100644 modules/tools/default.nix create mode 100644 modules/tools/editor/default.nix create mode 100644 modules/tools/editor/neovim/default.nix create mode 100644 modules/tools/editor/neovim/keybindings.lua create mode 100644 modules/tools/editor/neovim/options.lua create mode 100644 modules/tools/editor/neovim/plugins/base16.lua create mode 100644 modules/tools/editor/neovim/plugins/comment.lua create mode 100644 modules/tools/editor/neovim/plugins/lualine.lua create mode 100644 modules/tools/editor/neovim/plugins/nvim-tree.lua create mode 100644 modules/tools/editor/neovim/plugins/treesitter.nix create mode 100644 modules/tools/file-manager/default.nix create mode 100644 modules/tools/file-manager/lf/default.nix create mode 100644 modules/tools/file-manager/lf/icons create mode 100644 modules/tools/file-manager/lf/scripts/previewer.sh create mode 100644 modules/tools/file-manager/lsd/default.nix create mode 100644 modules/tools/git/default.nix create mode 100644 modules/tools/system-monitor/default.nix create mode 100644 modules/tools/system-monitor/htop/default.nix create mode 100644 modules/tools/viewer/bat/default.nix create mode 100644 modules/tools/viewer/bat/theme.nix create mode 100644 modules/tools/viewer/default.nix delete mode 100644 nvim/default.nix delete mode 100644 nvim/keybindings.lua delete mode 100644 nvim/options.lua delete mode 100644 nvim/plugins/base16.lua delete mode 100644 nvim/plugins/comment.lua delete mode 100644 nvim/plugins/lualine.lua delete mode 100644 nvim/plugins/nvim-tree.lua delete mode 100644 nvim/plugins/treesitter.nix delete mode 100644 polybar/bars/main.nix delete mode 100644 polybar/default.nix delete mode 100644 polybar/modules/battery.nix delete mode 100644 polybar/modules/bspwm.nix delete mode 100644 polybar/modules/cpu.nix delete mode 100644 polybar/modules/date.nix delete mode 100644 polybar/modules/kernel-version.nix delete mode 100644 polybar/modules/memory.nix delete mode 100644 polybar/modules/time.nix delete mode 100644 polybar/modules/xwindow.nix delete mode 100644 rofi/default.nix delete mode 100644 rofi/theme/default.nix delete mode 100644 rofi/theme/theme.rasi delete mode 100644 sxhkd/default.nix delete mode 100644 sxhkd/scripts/show-keybindings.sh delete mode 100644 xresources/default.nix delete mode 100644 xresources/xinitrc delete mode 100644 zsh/default.nix delete mode 100644 zsh/zshrc diff --git a/alacritty/default.nix b/alacritty/default.nix deleted file mode 100644 index e4c1551..0000000 --- a/alacritty/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ pkgs, config, ... }: - -{ - programs.alacritty.enable = true; - - programs.alacritty.settings = { - window = { - opacity = 1.0; - padding = { - x = 4; - y = 0; - }; - decorations = "full"; - }; - - font = { - normal = { - family = "Fira Code Nerd Font"; - style = "Retina"; - }; - bold = { - family = "Fira Code Nerd Font"; - style = "Bold"; - }; - italic = { - family = "Fira Code Nerd Font"; - }; - size = 16.0; - }; - - colors = with config.scheme; { - primary = { - background = "0x${base00}"; - foreground = "0x${base05}"; - }; - normal = { - black = "0x${base00}"; - red = "0x${base08}"; - green = "0x${base0B}"; - yellow = "0x${base0A}"; - blue = "0x${base0D}"; - magenta = "0x${base0E}"; - cyan = "0x${base0C}"; - white = "0x${base05}"; - }; - bright = { - black = "0x${base03}"; - red = "0x${base08}"; - green = "0x${base0B}"; - yellow = "0x${base0A}"; - blue = "0x${base0D}"; - magenta = "0x${base0E}"; - cyan = "0x${base0C}"; - white = "0x${base07}"; - }; - dim = { - black = "0x${base01}"; - red = "0x${base08}"; - green = "0x${base0B}"; - yellow = "0x${base0A}"; - blue = "0x${base0D}"; - magenta = "0x${base0E}"; - cyan = "0x${base0C}"; - white = "0x${base04}"; - }; - }; - - shell = { - program = "${pkgs.zsh}/bin/zsh"; - }; - }; -} diff --git a/bash/default.nix b/bash/default.nix deleted file mode 100644 index 199aa10..0000000 --- a/bash/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: - -{ - programs.bash.enable = true; - programs.bash.historyFile = "${config.xdg.cacheHome}/bash/history"; - home.file."${config.xdg.cacheHome}/bash/histroy".text = ""; # Create the cache directory and histroy file -} diff --git a/bat/default.nix b/bat/default.nix deleted file mode 100644 index af6bfca..0000000 --- a/bat/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, ... }: - -{ - programs.bat.enable = true; - programs.bat.config.theme = "customTheme"; - xdg.configFile."bat/themes/customTheme.tmTheme".text - = import ./theme.nix config; -} diff --git a/bat/theme.nix b/bat/theme.nix deleted file mode 100644 index e345ee4..0000000 --- a/bat/theme.nix +++ /dev/null @@ -1,124 +0,0 @@ -config: - -with config.scheme.withHashtag; -'' - - - - name - customTheme - settings - - - - settings - - background - #0F1419 - foreground - #E6E1CF - caret - #F3F4F5 - invisibles - #3E4B59 - lineHighlight - #272D38 - selection - #3E4B59 - - - - - - scope - comment - settings - - foreground - #BFBDB6 - - - - - scope - string - settings - - foreground - #FFB454 - - - - - scope - constant.numeric - settings - - foreground - #FF8F40 - - - - - scope - variable - settings - - foreground - #F07178 - - - - - scope - keyword - settings - - foreground - #59C2FF - - - - - scope - support.function - settings - - foreground - #D2A6FF - - - - - scope - constant.language - settings - - foreground - #B8CC52 - - - - - scope - entity.name.tag - settings - - foreground - #95E6CB - - - - - scope - invalid - settings - - foreground - #E6B673 - - - - - -'' diff --git a/bspwm/bspwmrc b/bspwm/bspwmrc deleted file mode 100644 index 8a3a35a..0000000 --- a/bspwm/bspwmrc +++ /dev/null @@ -1,3 +0,0 @@ -for monitor in $(xrandr -q | grep -w 'connected' | cut -d' ' -f1); do - bspc monitor "$monitor" -d '1' '2' '3' '4' '5' '6' -done diff --git a/bspwm/default.nix b/bspwm/default.nix deleted file mode 100644 index c0226f8..0000000 --- a/bspwm/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, ... }: - -{ - xsession.windowManager.bspwm.enable = true; - - xsession.windowManager.bspwm.settings = with config.scheme.withHashtag; { - window_gap = 5; - split_ratio = 0.5; - single_monocle = true; - borderless_monocle = false; - gapless_monocle = false; - focus_follows_pointer = true; - pointer_follows_focus = false; - pointer_motion_interval = 40; - pointer_modifier = "mod1"; # alt key - pointer_action1 = "resize_side"; - pointer_action2 = "move"; - pointer_action3 = "resize_corner"; - normal_border_color = base02; - active_border_color = base02; - focused_border_color = base03; - }; - - xsession.windowManager.bspwm.rules = { - "popup" = { - state = "floating"; - sticky = true; - }; - }; - - xsession.windowManager.bspwm.extraConfig = builtins.readFile ./bspwmrc; -} diff --git a/flake.nix b/flake.nix index c183265..0b8bd34 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,7 @@ inherit pkgs; modules = [ ./home.nix + ./modules base16.homeManagerModule ]; }; diff --git a/git/default.nix b/git/default.nix deleted file mode 100644 index 5a32294..0000000 --- a/git/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, config, ... }: - -{ - programs.git.enable = true; - programs.git.userEmail = "54011232+arpitchakladar@users.noreply.github.com"; - programs.git.userName = "Arpit Chakladar"; - programs.git.extraConfig = { - credential.helper = "store --file ${config.xdg.cacheHome}/git/credential"; - core.askPass = ""; - }; - - # The base directory of the credential file must exist - home.activation.createGitCacheDirectory = lib.hm.dag.entryAfter [ "writeBoundary" ] "mkdir -p ${config.xdg.cacheHome}/git"; -} diff --git a/home.nix b/home.nix index cc4e564..b25fe7d 100644 --- a/home.nix +++ b/home.nix @@ -2,26 +2,33 @@ { imports = [ - ./base16/default.nix - ./bspwm/default.nix - ./sxhkd/default.nix - ./polybar/default.nix - ./git/default.nix - ./xresources/default.nix - ./zsh/default.nix - ./bash/default.nix - ./alacritty/default.nix - ./nvim/default.nix - ./lf/default.nix - ./rofi/default.nix - ./htop/default.nix - ./lsd/default.nix - ./bat/default.nix + ./base16 ]; + home.username = "arpit"; home.homeDirectory = "/home/arpit"; home.stateVersion = "23.11"; + # Desktop + rofi.enable = true; + polybar.enable = true; + alacritty.enable = true; + bspwm.enable = true; + sxhkd.enable = true; + xinit.enable = true; + + # Shell + bash.enable = true; + zsh.enable = true; + + # Tools + neovim.enable = true; + lf.enable = true; + lsd.enable = true; + git.enable = true; + htop.enable = true; + bat.enable = true; + home.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" ]; }) ]; diff --git a/htop/default.nix b/htop/default.nix deleted file mode 100644 index 30315d4..0000000 --- a/htop/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: - -{ - programs.htop.enable = true; - programs.htop.package = pkgs.htop-vim; -} diff --git a/lf/default.nix b/lf/default.nix deleted file mode 100644 index f8bb96b..0000000 --- a/lf/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.lf.enable = true; - programs.lf.settings = { - hidden = true; - }; - programs.lf.previewer.source = pkgs.writeShellScript - "previewer.sh" - (builtins.readFile ./scripts/previewer.sh); - - programs.lf.extraConfig = "set icons"; - - xdg.configFile."lf/icons".source = ./icons; -} diff --git a/lf/icons b/lf/icons deleted file mode 100644 index 2e9d8a2..0000000 --- a/lf/icons +++ /dev/null @@ -1,334 +0,0 @@ -# vim:ft=conf - -# These examples require Nerd Fonts or a compatible font to be used. -# See https://www.nerdfonts.com for more information. - -# file types (with matching order) -ln  # LINK -or  # ORPHAN -tw t # STICKY_OTHER_WRITABLE -ow  # OTHER_WRITABLE -st t # STICKY -di  # DIR -pi p # FIFO -so s # SOCK -bd b # BLK -cd c # CHR -su u # SETUID -sg g # SETGID -ex  # EXEC -fi  # FILE - -# file extensions (vim-devicons) -*.styl  -*.sass  -*.scss  -*.htm  -*.html  -*.slim  -*.haml  -*.ejs  -*.css  -*.less  -*.md  -*.mdx  -*.markdown  -*.rmd  -*.json  -*.webmanifest  -*.js  -*.mjs  -*.jsx  -*.rb  -*.gemspec  -*.rake  -*.php  -*.py  -*.pyc  -*.pyo  -*.pyd  -*.coffee  -*.mustache  -*.hbs  -*.conf  -*.ini  -*.yml  -*.yaml  -*.toml  -*.bat  -*.mk  -*.jpg  -*.jpeg  -*.bmp  -*.png  -*.webp  -*.gif  -*.ico  -*.twig  -*.cpp  -*.c++  -*.cxx  -*.cc  -*.cp  -*.c  -*.cs 󰌛 -*.h  -*.hh  -*.hpp  -*.hxx  -*.hs  -*.lhs  -*.nix  -*.lua  -*.java  -*.sh  -*.fish  -*.bash  -*.zsh  -*.ksh  -*.csh  -*.awk  -*.ps1  -*.ml λ -*.mli λ -*.diff  -*.db  -*.sql  -*.dump  -*.clj  -*.cljc  -*.cljs  -*.edn  -*.scala  -*.go  -*.dart  -*.xul  -*.sln  -*.suo  -*.pl  -*.pm  -*.t  -*.rss  -'*.f#'  -*.fsscript  -*.fsx  -*.fs  -*.fsi  -*.rs  -*.rlib  -*.d  -*.erl  -*.hrl  -*.ex  -*.exs  -*.eex  -*.leex  -*.heex  -*.vim  -*.ai  -*.psd  -*.psb  -*.ts  -*.tsx  -*.jl  -*.pp  -*.vue  -*.elm  -*.swift  -*.xcplayground  -*.tex 󰙩 -*.r 󰟔 -*.rproj 󰗆 -*.sol 󰡪 -*.pem  - -# file names (vim-devicons) (case-insensitive not supported in lf) -*gruntfile.coffee  -*gruntfile.js  -*gruntfile.ls  -*gulpfile.coffee  -*gulpfile.js  -*gulpfile.ls  -*mix.lock  -*dropbox  -*.ds_store  -*.gitconfig  -*.gitignore  -*.gitattributes  -*.gitlab-ci.yml  -*.bashrc  -*.zshrc  -*.zshenv  -*.zprofile  -*.vimrc  -*.gvimrc  -*_vimrc  -*_gvimrc  -*.bashprofile  -*favicon.ico  -*license  -*node_modules  -*react.jsx  -*procfile  -*dockerfile  -*docker-compose.yml  -*docker-compose.yaml  -*compose.yml  -*compose.yaml  -*rakefile  -*config.ru  -*gemfile  -*makefile  -*cmakelists.txt  -*robots.txt 󰚩 - -# file names (case-sensitive adaptations) -*Gruntfile.coffee  -*Gruntfile.js  -*Gruntfile.ls  -*Gulpfile.coffee  -*Gulpfile.js  -*Gulpfile.ls  -*Dropbox  -*.DS_Store  -*LICENSE  -*React.jsx  -*Procfile  -*Dockerfile  -*Docker-compose.yml  -*Docker-compose.yaml  -*Rakefile  -*Gemfile  -*Makefile  -*CMakeLists.txt  - -# file patterns (file name adaptations) -*jquery.min.js  -*angular.min.js  -*backbone.min.js  -*require.min.js  -*materialize.min.js  -*materialize.min.css  -*mootools.min.js  -*vimrc  -Vagrantfile  - -# archives or compressed (extensions from dircolors defaults) -*.tar  -*.tgz  -*.arc  -*.arj  -*.taz  -*.lha  -*.lz4  -*.lzh  -*.lzma  -*.tlz  -*.txz  -*.tzo  -*.t7z  -*.zip  -*.z  -*.dz  -*.gz  -*.lrz  -*.lz  -*.lzo  -*.xz  -*.zst  -*.tzst  -*.bz2  -*.bz  -*.tbz  -*.tbz2  -*.tz  -*.deb  -*.rpm  -*.jar  -*.war  -*.ear  -*.sar  -*.rar  -*.alz  -*.ace  -*.zoo  -*.cpio  -*.7z  -*.rz  -*.cab  -*.wim  -*.swm  -*.dwm  -*.esd  - -# image formats (extensions from dircolors defaults) -*.jpg  -*.jpeg  -*.mjpg  -*.mjpeg  -*.gif  -*.bmp  -*.pbm  -*.pgm  -*.ppm  -*.tga  -*.xbm  -*.xpm  -*.tif  -*.tiff  -*.png  -*.svg  -*.svgz  -*.mng  -*.pcx  -*.mov  -*.mpg  -*.mpeg  -*.m2v  -*.mkv  -*.webm  -*.ogm  -*.mp4  -*.m4v  -*.mp4v  -*.vob  -*.qt  -*.nuv  -*.wmv  -*.asf  -*.rm  -*.rmvb  -*.flc  -*.avi  -*.fli  -*.flv  -*.gl  -*.dl  -*.xcf  -*.xwd  -*.yuv  -*.cgm  -*.emf  -*.ogv  -*.ogx  - -# audio formats (extensions from dircolors defaults) -*.aac  -*.au  -*.flac  -*.m4a  -*.mid  -*.midi  -*.mka  -*.mp3  -*.mpc  -*.ogg  -*.ra  -*.wav  -*.oga  -*.opus  -*.spx  -*.xspf  - -# other formats -*.pdf  diff --git a/lf/scripts/previewer.sh b/lf/scripts/previewer.sh deleted file mode 100644 index 407e0a0..0000000 --- a/lf/scripts/previewer.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -unset COLORTERM -bat -pp --line-range=:500 --color=always "$1" diff --git a/lsd/default.nix b/lsd/default.nix deleted file mode 100644 index 6698ef0..0000000 --- a/lsd/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - programs.lsd.enable = true; - programs.lsd.enableAliases = true; - programs.bash.shellAliases."tree" = "${pkgs.lsd}/bin/lsd -a --tree"; - - programs.lsd.settings = { - icons.separator = " "; - }; -} diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..7845368 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,9 @@ +{ ... }: + +{ + imports = [ + ./desktop + ./shell + ./tools + ]; +} diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix new file mode 100644 index 0000000..e15cd53 --- /dev/null +++ b/modules/desktop/default.nix @@ -0,0 +1,11 @@ +{ lib, config, ... }: + +{ + imports = [ + ./popup-manager + ./status-bar + ./terminal + ./window-manager + ./xresources + ]; +} diff --git a/modules/desktop/popup-manager/default.nix b/modules/desktop/popup-manager/default.nix new file mode 100644 index 0000000..8c82ea7 --- /dev/null +++ b/modules/desktop/popup-manager/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + imports = [ + ./rofi + ]; +} diff --git a/modules/desktop/popup-manager/rofi/default.nix b/modules/desktop/popup-manager/rofi/default.nix new file mode 100644 index 0000000..fdf7d3e --- /dev/null +++ b/modules/desktop/popup-manager/rofi/default.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: + +{ + options = { + rofi.enable = lib.mkEnableOption "Enables rofi."; + }; + + config = lib.mkIf config.rofi.enable { + programs.rofi.enable = true; + programs.rofi.font = "FiraCode Nerd Font 16"; + programs.rofi.theme = import ./theme/default.nix config; + }; +} diff --git a/modules/desktop/popup-manager/rofi/theme/default.nix b/modules/desktop/popup-manager/rofi/theme/default.nix new file mode 100644 index 0000000..b0b8173 --- /dev/null +++ b/modules/desktop/popup-manager/rofi/theme/default.nix @@ -0,0 +1,21 @@ +config: + +with config.scheme.withHashtag; +builtins.toFile "theme.rasi" +'' +${builtins.readFile ./theme.rasi} +configuration { + font: "${config.programs.rofi.font}"; +} + +* { + bg: ${base00}; + bg-alt: ${base01}; + fg: ${base07}; + fg-alt: ${base03}; +} + +window { + border-color: ${base03}; +} +'' diff --git a/modules/desktop/popup-manager/rofi/theme/theme.rasi b/modules/desktop/popup-manager/rofi/theme/theme.rasi new file mode 100644 index 0000000..9d808b9 --- /dev/null +++ b/modules/desktop/popup-manager/rofi/theme/theme.rasi @@ -0,0 +1,76 @@ +configuration { + drun { + display-name: " "; + } + + run { + display-name: " "; + } + + window { + display-name: " "; + } + + ssh { + display-name: " "; + } + + timeout { + delay: 10; + action: "kb-cancel"; + } +} + +* { + border: 1; + margin: 0; + padding: 0; + spacing: 0; + + background-color: @bg; + text-color: @fg; +} + +window { + transparency: "real"; +} + +mainbox { + children: [inputbar, listview]; +} + +inputbar { + background-color: @bg-alt; + children: [prompt, entry]; +} + +entry { + background-color: inherit; + padding: 12px 3px; +} + +prompt { + background-color: inherit; + padding: 12px; +} + +listview { + lines: 8; +} + +element { + children: [element-text]; +} + +element-icon { + padding: 10px 10px; +} + +element-text { + padding: 10px 10px; + text-color: @fg-alt; +} + +element-text selected { + text-color: @fg; +} diff --git a/modules/desktop/status-bar/default.nix b/modules/desktop/status-bar/default.nix new file mode 100644 index 0000000..124c830 --- /dev/null +++ b/modules/desktop/status-bar/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + imports = [ + ./polybar + ]; +} diff --git a/modules/desktop/status-bar/polybar/bars/main.nix b/modules/desktop/status-bar/polybar/bars/main.nix new file mode 100644 index 0000000..630664d --- /dev/null +++ b/modules/desktop/status-bar/polybar/bars/main.nix @@ -0,0 +1,28 @@ +config: + +with config.scheme.withHashtag; +{ + width = "100%"; + height = 30; + radius = 3; + fixed-center = false; + + background = "${base00}"; + foreground = "${base05}"; + + line-size = 3; + line-color = "${base08}"; + + border-size = 4; + padding-left = 2; + padding-right = 2; + + module-margin-left = 2; + module-margin-right = 2; + + font-0 = "FiraCode Nerd Font:pixelsize=16;3"; + + modules-left = "bspwm"; + modules-center = "xwindow"; + modules-right = "memory cpu battery time date kernel-version"; +} diff --git a/modules/desktop/status-bar/polybar/default.nix b/modules/desktop/status-bar/polybar/default.nix new file mode 100644 index 0000000..11f4f1a --- /dev/null +++ b/modules/desktop/status-bar/polybar/default.nix @@ -0,0 +1,24 @@ +{ config, lib, ... }: + +{ + options = { + polybar.enable = lib.mkEnableOption "Enables polybar."; + }; + + config = lib.mkIf config.polybar.enable { + services.polybar.enable = true; + services.polybar.script = "polybar main &"; + + services.polybar.config = { + "bar/main" = import ./bars/main.nix config; + "module/xwindow" = import ./modules/xwindow.nix config; + "module/bspwm" = import ./modules/bspwm.nix config; + "module/cpu" = import ./modules/cpu.nix config; + "module/memory" = import ./modules/memory.nix config; + "module/date" = import ./modules/date.nix config; + "module/time" = import ./modules/time.nix config; + "module/battery" = import ./modules/battery.nix config; + "module/kernel-version" = import ./modules/kernel-version.nix config; + }; + }; +} diff --git a/modules/desktop/status-bar/polybar/modules/battery.nix b/modules/desktop/status-bar/polybar/modules/battery.nix new file mode 100644 index 0000000..9860c3c --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/battery.nix @@ -0,0 +1,36 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/battery"; + battery = "BAT0"; + adapter = "ADP1"; + + format-charging = " "; + format-discharging = " "; + format-full-prefix = "%{F${base0B}}󰁹%{F-}"; + + ramp-capacity-0 = "%{F${base0C}}󰁺%{F-}"; + ramp-capacity-1 = "%{F${base0C}}󰁻%{F-}"; + ramp-capacity-2 = "%{F${base0C}}󰁼%{F-}"; + ramp-capacity-3 = "%{F${base0C}}󰁽%{F-}"; + ramp-capacity-4 = "%{F${base0C}}󰁾%{F-}"; + ramp-capacity-5 = "%{F${base0C}}󰁿%{F-}"; + ramp-capacity-6 = "%{F${base0C}}󰂀%{F-}"; + ramp-capacity-7 = "%{F${base0C}}󰂁%{F-}"; + ramp-capacity-8 = "%{F${base0C}}󰂂%{F-}"; + ramp-capacity-9 = "%{F${base0C}}󰁹%{F-}"; + + animation-charging-0 = "%{F${base0C}}󰁺%{F-}"; + animation-charging-1 = "%{F${base0C}}󰁻%{F-}"; + animation-charging-2 = "%{F${base0C}}󰁼%{F-}"; + animation-charging-3 = "%{F${base0C}}󰁽%{F-}"; + animation-charging-4 = "%{F${base0C}}󰁾%{F-}"; + animation-charging-5 = "%{F${base0C}}󰁿%{F-}"; + animation-charging-6 = "%{F${base0C}}󰂀%{F-}"; + animation-charging-7 = "%{F${base0C}}󰂁%{F-}"; + animation-charging-8 = "%{F${base0C}}󰂂%{F-}"; + animation-charging-9 = "%{F${base0C}}󰁹%{F-}"; + + animation-charging-framerate = 750; +} diff --git a/modules/desktop/status-bar/polybar/modules/bspwm.nix b/modules/desktop/status-bar/polybar/modules/bspwm.nix new file mode 100644 index 0000000..7ec5c6d --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/bspwm.nix @@ -0,0 +1,22 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/bspwm"; + + label-focused = "%index%"; + label-focused-background = "${base01}"; + label-focused-underline = "${base0D}"; + label-focused-padding = 2; + + label-occupied = "%index%"; + label-occupied-padding = 2; + + label-urgent = "%index%!"; + label-urgent-background = "${base08}"; + label-urgent-padding = 2; + + label-empty = "%index%"; + label-empty-foreground = "${base03}"; + label-empty-padding = 2; +} diff --git a/modules/desktop/status-bar/polybar/modules/cpu.nix b/modules/desktop/status-bar/polybar/modules/cpu.nix new file mode 100644 index 0000000..f118990 --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/cpu.nix @@ -0,0 +1,9 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/cpu"; + interval = 2; + format-prefix = "%{F${base09}} %{F-}"; + label = "%percentage%%"; +} diff --git a/modules/desktop/status-bar/polybar/modules/date.nix b/modules/desktop/status-bar/polybar/modules/date.nix new file mode 100644 index 0000000..11a5934 --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/date.nix @@ -0,0 +1,10 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/date"; + interval = 60; + date = "%d/%m/%Y"; + label = "%date%"; + format-prefix = "%{F${base0B}} %{F-}"; +} diff --git a/modules/desktop/status-bar/polybar/modules/kernel-version.nix b/modules/desktop/status-bar/polybar/modules/kernel-version.nix new file mode 100644 index 0000000..a900264 --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/kernel-version.nix @@ -0,0 +1,10 @@ +config: + +with config.scheme.withHashtag; +{ + type = "custom/script"; + exec = "uname -r"; + interval = 1024; + format-prefix = "%{F${base03}} %{F-}"; + label = "%output%"; +} diff --git a/modules/desktop/status-bar/polybar/modules/memory.nix b/modules/desktop/status-bar/polybar/modules/memory.nix new file mode 100644 index 0000000..1aff8a3 --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/memory.nix @@ -0,0 +1,9 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/memory"; + interval = 2; + format-prefix = "%{F${base0A}} %{F-}"; + label = "%percentage_used%%"; +} diff --git a/modules/desktop/status-bar/polybar/modules/time.nix b/modules/desktop/status-bar/polybar/modules/time.nix new file mode 100644 index 0000000..e4c7cbe --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/time.nix @@ -0,0 +1,10 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/date"; + interval = 30; + time = "%H:%M"; + label = "%time%"; + format-prefix = "%{F${base0C}} %{F-}"; +} diff --git a/modules/desktop/status-bar/polybar/modules/xwindow.nix b/modules/desktop/status-bar/polybar/modules/xwindow.nix new file mode 100644 index 0000000..23245ba --- /dev/null +++ b/modules/desktop/status-bar/polybar/modules/xwindow.nix @@ -0,0 +1,7 @@ +config: + +with config.scheme.withHashtag; +{ + type = "internal/xwindow"; + label = "%title:0:30:...%"; +} diff --git a/modules/desktop/terminal/alacritty/default.nix b/modules/desktop/terminal/alacritty/default.nix new file mode 100644 index 0000000..0fe56e0 --- /dev/null +++ b/modules/desktop/terminal/alacritty/default.nix @@ -0,0 +1,78 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + alacritty.enable = lib.mkEnableOption "Enables alacritty."; + }; + + config = lib.mkIf config.alacritty.enable { + programs.alacritty.enable = true; + + programs.alacritty.settings = { + window = { + opacity = 1.0; + padding = { + x = 4; + y = 0; + }; + decorations = "full"; + }; + + font = { + normal = { + family = "Fira Code Nerd Font"; + style = "Retina"; + }; + bold = { + family = "Fira Code Nerd Font"; + style = "Bold"; + }; + italic = { + family = "Fira Code Nerd Font"; + }; + size = 16.0; + }; + + colors = with config.scheme; { + primary = { + background = "0x${base00}"; + foreground = "0x${base05}"; + }; + normal = { + black = "0x${base00}"; + red = "0x${base08}"; + green = "0x${base0B}"; + yellow = "0x${base0A}"; + blue = "0x${base0D}"; + magenta = "0x${base0E}"; + cyan = "0x${base0C}"; + white = "0x${base05}"; + }; + bright = { + black = "0x${base03}"; + red = "0x${base08}"; + green = "0x${base0B}"; + yellow = "0x${base0A}"; + blue = "0x${base0D}"; + magenta = "0x${base0E}"; + cyan = "0x${base0C}"; + white = "0x${base07}"; + }; + dim = { + black = "0x${base01}"; + red = "0x${base08}"; + green = "0x${base0B}"; + yellow = "0x${base0A}"; + blue = "0x${base0D}"; + magenta = "0x${base0E}"; + cyan = "0x${base0C}"; + white = "0x${base04}"; + }; + }; + + shell = { + program = "${pkgs.zsh}/bin/zsh"; + }; + }; + }; +} diff --git a/modules/desktop/terminal/default.nix b/modules/desktop/terminal/default.nix new file mode 100644 index 0000000..6a0cfc8 --- /dev/null +++ b/modules/desktop/terminal/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + imports = [ + ./alacritty + ]; +} diff --git a/modules/desktop/window-manager/bspwm/bspwmrc b/modules/desktop/window-manager/bspwm/bspwmrc new file mode 100644 index 0000000..8a3a35a --- /dev/null +++ b/modules/desktop/window-manager/bspwm/bspwmrc @@ -0,0 +1,3 @@ +for monitor in $(xrandr -q | grep -w 'connected' | cut -d' ' -f1); do + bspc monitor "$monitor" -d '1' '2' '3' '4' '5' '6' +done diff --git a/modules/desktop/window-manager/bspwm/default.nix b/modules/desktop/window-manager/bspwm/default.nix new file mode 100644 index 0000000..643d78b --- /dev/null +++ b/modules/desktop/window-manager/bspwm/default.nix @@ -0,0 +1,38 @@ +{ config, lib, ... }: + +{ + options = { + bspwm.enable = lib.mkEnableOption "Enables bspwm."; + }; + + config = lib.mkIf config.bspwm.enable { + xsession.windowManager.bspwm.enable = true; + + xsession.windowManager.bspwm.settings = with config.scheme.withHashtag; { + window_gap = 5; + split_ratio = 0.5; + single_monocle = true; + borderless_monocle = false; + gapless_monocle = false; + focus_follows_pointer = true; + pointer_follows_focus = false; + pointer_motion_interval = 40; + pointer_modifier = "mod1"; # alt key + pointer_action1 = "resize_side"; + pointer_action2 = "move"; + pointer_action3 = "resize_corner"; + normal_border_color = base02; + active_border_color = base02; + focused_border_color = base03; + }; + + xsession.windowManager.bspwm.rules = { + "popup" = { + state = "floating"; + sticky = true; + }; + }; + + xsession.windowManager.bspwm.extraConfig = builtins.readFile ./bspwmrc; + }; +} diff --git a/modules/desktop/window-manager/default.nix b/modules/desktop/window-manager/default.nix new file mode 100644 index 0000000..6e9b9f8 --- /dev/null +++ b/modules/desktop/window-manager/default.nix @@ -0,0 +1,8 @@ +{ lib, ... }: + +{ + imports = [ + ./bspwm + ./sxhkd + ]; +} diff --git a/modules/desktop/window-manager/sxhkd/default.nix b/modules/desktop/window-manager/sxhkd/default.nix new file mode 100644 index 0000000..29261b9 --- /dev/null +++ b/modules/desktop/window-manager/sxhkd/default.nix @@ -0,0 +1,79 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + sxhkd.enable = lib.mkEnableOption "Enables sxhkd."; + }; + + config = lib.mkIf config.sxhkd.enable { + services.sxhkd.enable = true; + + services.sxhkd.keybindings = + let + modKey = "alt"; + createKeybinding = keybinding: description: "# ${description}\n${modKey} + ${keybinding}"; + in { + ${(createKeybinding + "s" + "Show keybindings.")} + = pkgs.writeShellScript + "show-keybindings.sh" + (builtins.readFile ./scripts/show-keybindings.sh); + + ${(createKeybinding + "r" + "Launch rofi.")} + = "rofi -show run"; + + ${(createKeybinding + "t" + "Launch terminal.")} + = "alacritty"; + + ${(createKeybinding + "f" + "Launch File Explorer.")} + = "alacritty -t 'File Explorer' --class 'popup' -e lf"; + + ${(createKeybinding + "q" + "Kill current window.")} + = "bspc node -c"; + + ${(createKeybinding + "{1-9,0}" + "Switch workspace.")} + = "bspc desktop -f {1-9,10}"; + + ${(createKeybinding + "shift + {1-9,0}" + "Move window to workspace.")} + = "bspc node -d {1-9,10} --follow"; + + ${(createKeybinding + "{n,d,m}" + "Set current window mode (tiled, floating, fullscreen).")} + = "bspc node focused -t {tiled,floating,fullscreen}"; + + ${(createKeybinding + "{_,shift + }{h,j,k,l}" + "Navigate between windows.")} + = "bspc node --{focus,swap} {west,south,north,east}"; + + # the indentation for each line is required to work with the help prompt + ${(createKeybinding + "ctrl + {h,j,k,l}" + "Resize current window.")} + = '' + {bspc node @parent/second -z left -20 0; \ + bspc node @parent/first -z right -20 0, \ + bspc node @parent/second -z top 0 +20; \ + bspc node @parent/first -z bottom 0 +20, \ + bspc node @parent/first -z bottom 0 -20; \ + bspc node @parent/second -z top 0 -20, \ + bspc node @parent/first -z right +20 0; \ + bspc node @parent/second -z left +20 0} + ''; + }; + }; +} diff --git a/modules/desktop/window-manager/sxhkd/scripts/show-keybindings.sh b/modules/desktop/window-manager/sxhkd/scripts/show-keybindings.sh new file mode 100644 index 0000000..db7863d --- /dev/null +++ b/modules/desktop/window-manager/sxhkd/scripts/show-keybindings.sh @@ -0,0 +1,13 @@ +#!/bin/sh +SXHKD_CONFIG="$HOME/.config/sxhkd/sxhkdrc" + +awk ' + /^#/ { + desc = substr($0, 3) + } + /^[[:alnum:]]/ { + cmd = $0 + getline + print cmd " : " desc + } +' "$SXHKD_CONFIG" | rofi -dmenu -i -p "Keybindings" diff --git a/modules/desktop/xresources/default.nix b/modules/desktop/xresources/default.nix new file mode 100644 index 0000000..65eb812 --- /dev/null +++ b/modules/desktop/xresources/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + imports = [ + ./xinit + ]; +} diff --git a/modules/desktop/xresources/xinit/default.nix b/modules/desktop/xresources/xinit/default.nix new file mode 100644 index 0000000..f5069fa --- /dev/null +++ b/modules/desktop/xresources/xinit/default.nix @@ -0,0 +1,14 @@ +{ lib, config, ... }: + +{ + options = { + xinit.enable = lib.mkEnableOption "Enables xinit."; + }; + + config = lib.mkIf config.xinit.enable { + home.file.".xinitrc" = { + source = ./xinitrc; + executable = true; + }; + }; +} diff --git a/modules/desktop/xresources/xinit/xinitrc b/modules/desktop/xresources/xinit/xinitrc new file mode 100644 index 0000000..2ac4486 --- /dev/null +++ b/modules/desktop/xresources/xinit/xinitrc @@ -0,0 +1,4 @@ +#!/bin/sh +polybar main & +sxhkd & +exec bspwm diff --git a/modules/shell/bash/default.nix b/modules/shell/bash/default.nix new file mode 100644 index 0000000..f26e3d8 --- /dev/null +++ b/modules/shell/bash/default.nix @@ -0,0 +1,13 @@ +{ config, lib, ... }: + +{ + options = { + bash.enable = lib.mkEnableOption "Enables bash."; + }; + + config = lib.mkIf config.bash.enable { + programs.bash.enable = true; + programs.bash.historyFile = "${config.xdg.cacheHome}/bash/history"; + home.file."${config.xdg.cacheHome}/bash/histroy".text = ""; # Create the cache directory and histroy file + }; +} diff --git a/modules/shell/default.nix b/modules/shell/default.nix new file mode 100644 index 0000000..e4c3964 --- /dev/null +++ b/modules/shell/default.nix @@ -0,0 +1,8 @@ +{ lib, config, ... }: + +{ + imports = [ + ./bash + ./zsh + ]; +} diff --git a/modules/shell/zsh/default.nix b/modules/shell/zsh/default.nix new file mode 100644 index 0000000..b4ea77a --- /dev/null +++ b/modules/shell/zsh/default.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: + +{ + options = { + zsh.enable = lib.mkEnableOption "Enables zsh."; + }; + + config = lib.mkIf config.zsh.enable { + programs.zsh.enable = true; + programs.zsh.dotDir = ".config/zsh"; + programs.zsh.history.path = "${config.xdg.cacheHome}/zsh/history"; + programs.zsh.initExtra = builtins.readFile ./zshrc; + programs.zsh.shellAliases = config.programs.bash.shellAliases; + }; +} diff --git a/modules/shell/zsh/zshrc b/modules/shell/zsh/zshrc new file mode 100644 index 0000000..528bf68 --- /dev/null +++ b/modules/shell/zsh/zshrc @@ -0,0 +1,19 @@ +setopt PROMPT_SUBST + +autoload -U colors && colors + +autoload -Uz vcs_info +precmd() { vcs_info } + +zstyle ':vcs_info:git:*' formats ' %F{yellow}[%F{cyan}%b %c%F{blue}%a%F{yellow}]' +zstyle ':vcs_info:git:*' actionformats ' %F{yellow}[%F{cyan}%b %c%F{blue}%a%F{yellow}]' + +zstyle ':vcs_info:*+set-message:*' hooks git-untracked git-dirty + +zstyle ':vcs_info:git:*' check-for-changes true +zstyle ':vcs_info:git:*' stagedstr '%F{green}✓%f' +zstyle ':vcs_info:git:*' unstagedstr '%F{red}✗%f' +zstyle ':vcs_info:git:*' aheadstr '%F{blue}⬆%f' +zstyle ':vcs_info:git:*' behindstr '%F{yellow}⬇%f' +PROMPT='%F{red}╭──[%F{green}%m%F{red}@%F{blue}%n%F{red}] %F{magenta}%~%f${vcs_info_msg_0_}%F{red} +╰─>%f ' diff --git a/modules/tools/default.nix b/modules/tools/default.nix new file mode 100644 index 0000000..bf96557 --- /dev/null +++ b/modules/tools/default.nix @@ -0,0 +1,11 @@ +{ lib, config, ... }: + +{ + imports = [ + ./editor + ./file-manager + ./git + ./system-monitor + ./viewer + ]; +} diff --git a/modules/tools/editor/default.nix b/modules/tools/editor/default.nix new file mode 100644 index 0000000..1a146bf --- /dev/null +++ b/modules/tools/editor/default.nix @@ -0,0 +1,7 @@ +{ lib, config, ... }: + +{ + imports = [ + ./neovim + ]; +} diff --git a/modules/tools/editor/neovim/default.nix b/modules/tools/editor/neovim/default.nix new file mode 100644 index 0000000..e06ec88 --- /dev/null +++ b/modules/tools/editor/neovim/default.nix @@ -0,0 +1,43 @@ +{ pkgs, config, lib, ... }: + +{ + options = { + neovim.enable = lib.mkEnableOption "Enables neovim."; + }; + + config = lib.mkIf config.neovim.enable { + programs.neovim.enable = true; + programs.neovim.viAlias = true; + programs.neovim.vimAlias = true; + programs.neovim.vimdiffAlias = true; + programs.neovim.defaultEditor = true; + + programs.neovim.extraPackages = with pkgs; [ + gcc # Required for treesitter + ]; + + programs.neovim.extraLuaConfig = + '' + ${builtins.readFile ./options.lua} + ${builtins.readFile ./keybindings.lua} + + -- Plugins configuration + ${builtins.readFile ./plugins/comment.lua} + ${builtins.readFile ./plugins/lualine.lua} + ${import ./plugins/treesitter.nix config} + ${builtins.readFile ./plugins/base16.lua} + ${builtins.readFile ./plugins/nvim-tree.lua} + ''; + + programs.neovim.plugins = with pkgs.vimPlugins; [ + comment-nvim + lualine-nvim + nvim-treesitter + nvim-web-devicons + nvim-tree-lua + (base16-vim.overrideAttrs (old: { + patchPhase = "ln -s ${config.scheme base16-vim} colors/base16-scheme.vim"; + })) + ]; + }; +} diff --git a/modules/tools/editor/neovim/keybindings.lua b/modules/tools/editor/neovim/keybindings.lua new file mode 100644 index 0000000..3e8e0fa --- /dev/null +++ b/modules/tools/editor/neovim/keybindings.lua @@ -0,0 +1,8 @@ +-- Navigate splits +vim.keymap.set("n", "", ":wincmd h", { silent = true }); +vim.keymap.set("n", "", ":wincmd j", { silent = true }); +vim.keymap.set("n", "", ":wincmd k", { silent = true }); +vim.keymap.set("n", "", ":wincmd l", { silent = true }); + +-- NvimTree +vim.keymap.set("n", "", ":NvimTreeToggle", { silent = true }); diff --git a/modules/tools/editor/neovim/options.lua b/modules/tools/editor/neovim/options.lua new file mode 100644 index 0000000..b1fe9cb --- /dev/null +++ b/modules/tools/editor/neovim/options.lua @@ -0,0 +1,21 @@ +vim.g.mapleader = " "; +vim.g.maplocalleader = " "; + +vim.o.clipboard = "unnamedplus"; + +vim.o.number = true; +vim.o.list = true; +vim.o.listchars = "tab:| ,trail:_,lead:_"; + +vim.o.laststatus = 3; + +vim.o.signcolumn = "auto"; +vim.opt.fillchars = { eob = " " }; + +vim.o.tabstop = 2; +vim.o.shiftwidth = 2; +vim.o.expandtab = false; + +vim.o.updatetime = 300; + +vim.o.mouse = "a"; diff --git a/modules/tools/editor/neovim/plugins/base16.lua b/modules/tools/editor/neovim/plugins/base16.lua new file mode 100644 index 0000000..9843b76 --- /dev/null +++ b/modules/tools/editor/neovim/plugins/base16.lua @@ -0,0 +1,6 @@ +vim.o.termguicolors = true; +vim.opt.termguicolors = true; +vim.o.background = "dark"; +vim.g.base16colorspace = 256 +vim.cmd.colorscheme("base16-scheme"); +vim.api.nvim_set_hl(0, "LineNr", { link = "Normal" }); -- disable the background of line numbers diff --git a/modules/tools/editor/neovim/plugins/comment.lua b/modules/tools/editor/neovim/plugins/comment.lua new file mode 100644 index 0000000..9086261 --- /dev/null +++ b/modules/tools/editor/neovim/plugins/comment.lua @@ -0,0 +1 @@ +require("Comment").setup(); diff --git a/modules/tools/editor/neovim/plugins/lualine.lua b/modules/tools/editor/neovim/plugins/lualine.lua new file mode 100644 index 0000000..ba2eda6 --- /dev/null +++ b/modules/tools/editor/neovim/plugins/lualine.lua @@ -0,0 +1,5 @@ +require("lualine").setup { + options = { + globalstatus = true, + }, +}; diff --git a/modules/tools/editor/neovim/plugins/nvim-tree.lua b/modules/tools/editor/neovim/plugins/nvim-tree.lua new file mode 100644 index 0000000..c6c4102 --- /dev/null +++ b/modules/tools/editor/neovim/plugins/nvim-tree.lua @@ -0,0 +1,13 @@ +require("nvim-tree").setup { + filters = { + enable = false + }, + renderer = { + indent_markers = { + enable = true + }, + root_folder_label = function(path) + return vim.fn.fnamemodify(path, ":t") + end, + }, +}; diff --git a/modules/tools/editor/neovim/plugins/treesitter.nix b/modules/tools/editor/neovim/plugins/treesitter.nix new file mode 100644 index 0000000..05f1f2a --- /dev/null +++ b/modules/tools/editor/neovim/plugins/treesitter.nix @@ -0,0 +1,13 @@ +config: + +'' +require("nvim-treesitter.configs").setup { + auto_install = true, + highlight = { + enable = true, + }, + parser_install_dir = "${config.xdg.dataHome}/nvim", +}; + +vim.opt.runtimepath:append("${config.xdg.dataHome}/nvim"); +'' diff --git a/modules/tools/file-manager/default.nix b/modules/tools/file-manager/default.nix new file mode 100644 index 0000000..d127a66 --- /dev/null +++ b/modules/tools/file-manager/default.nix @@ -0,0 +1,8 @@ +{ lib, config, ... }: + +{ + imports = [ + ./lf + ./lsd + ]; +} diff --git a/modules/tools/file-manager/lf/default.nix b/modules/tools/file-manager/lf/default.nix new file mode 100644 index 0000000..00784cf --- /dev/null +++ b/modules/tools/file-manager/lf/default.nix @@ -0,0 +1,21 @@ +{ config, pkgs, lib, ... }: + +{ + options = { + lf.enable = lib.mkEnableOption "Enables lf."; + }; + + config = lib.mkIf config.lf.enable { + programs.lf.enable = true; + programs.lf.settings = { + hidden = true; + }; + programs.lf.previewer.source = pkgs.writeShellScript + "previewer.sh" + (builtins.readFile ./scripts/previewer.sh); + + programs.lf.extraConfig = "set icons"; + + xdg.configFile."lf/icons".source = ./icons; + }; +} diff --git a/modules/tools/file-manager/lf/icons b/modules/tools/file-manager/lf/icons new file mode 100644 index 0000000..2e9d8a2 --- /dev/null +++ b/modules/tools/file-manager/lf/icons @@ -0,0 +1,334 @@ +# vim:ft=conf + +# These examples require Nerd Fonts or a compatible font to be used. +# See https://www.nerdfonts.com for more information. + +# file types (with matching order) +ln  # LINK +or  # ORPHAN +tw t # STICKY_OTHER_WRITABLE +ow  # OTHER_WRITABLE +st t # STICKY +di  # DIR +pi p # FIFO +so s # SOCK +bd b # BLK +cd c # CHR +su u # SETUID +sg g # SETGID +ex  # EXEC +fi  # FILE + +# file extensions (vim-devicons) +*.styl  +*.sass  +*.scss  +*.htm  +*.html  +*.slim  +*.haml  +*.ejs  +*.css  +*.less  +*.md  +*.mdx  +*.markdown  +*.rmd  +*.json  +*.webmanifest  +*.js  +*.mjs  +*.jsx  +*.rb  +*.gemspec  +*.rake  +*.php  +*.py  +*.pyc  +*.pyo  +*.pyd  +*.coffee  +*.mustache  +*.hbs  +*.conf  +*.ini  +*.yml  +*.yaml  +*.toml  +*.bat  +*.mk  +*.jpg  +*.jpeg  +*.bmp  +*.png  +*.webp  +*.gif  +*.ico  +*.twig  +*.cpp  +*.c++  +*.cxx  +*.cc  +*.cp  +*.c  +*.cs 󰌛 +*.h  +*.hh  +*.hpp  +*.hxx  +*.hs  +*.lhs  +*.nix  +*.lua  +*.java  +*.sh  +*.fish  +*.bash  +*.zsh  +*.ksh  +*.csh  +*.awk  +*.ps1  +*.ml λ +*.mli λ +*.diff  +*.db  +*.sql  +*.dump  +*.clj  +*.cljc  +*.cljs  +*.edn  +*.scala  +*.go  +*.dart  +*.xul  +*.sln  +*.suo  +*.pl  +*.pm  +*.t  +*.rss  +'*.f#'  +*.fsscript  +*.fsx  +*.fs  +*.fsi  +*.rs  +*.rlib  +*.d  +*.erl  +*.hrl  +*.ex  +*.exs  +*.eex  +*.leex  +*.heex  +*.vim  +*.ai  +*.psd  +*.psb  +*.ts  +*.tsx  +*.jl  +*.pp  +*.vue  +*.elm  +*.swift  +*.xcplayground  +*.tex 󰙩 +*.r 󰟔 +*.rproj 󰗆 +*.sol 󰡪 +*.pem  + +# file names (vim-devicons) (case-insensitive not supported in lf) +*gruntfile.coffee  +*gruntfile.js  +*gruntfile.ls  +*gulpfile.coffee  +*gulpfile.js  +*gulpfile.ls  +*mix.lock  +*dropbox  +*.ds_store  +*.gitconfig  +*.gitignore  +*.gitattributes  +*.gitlab-ci.yml  +*.bashrc  +*.zshrc  +*.zshenv  +*.zprofile  +*.vimrc  +*.gvimrc  +*_vimrc  +*_gvimrc  +*.bashprofile  +*favicon.ico  +*license  +*node_modules  +*react.jsx  +*procfile  +*dockerfile  +*docker-compose.yml  +*docker-compose.yaml  +*compose.yml  +*compose.yaml  +*rakefile  +*config.ru  +*gemfile  +*makefile  +*cmakelists.txt  +*robots.txt 󰚩 + +# file names (case-sensitive adaptations) +*Gruntfile.coffee  +*Gruntfile.js  +*Gruntfile.ls  +*Gulpfile.coffee  +*Gulpfile.js  +*Gulpfile.ls  +*Dropbox  +*.DS_Store  +*LICENSE  +*React.jsx  +*Procfile  +*Dockerfile  +*Docker-compose.yml  +*Docker-compose.yaml  +*Rakefile  +*Gemfile  +*Makefile  +*CMakeLists.txt  + +# file patterns (file name adaptations) +*jquery.min.js  +*angular.min.js  +*backbone.min.js  +*require.min.js  +*materialize.min.js  +*materialize.min.css  +*mootools.min.js  +*vimrc  +Vagrantfile  + +# archives or compressed (extensions from dircolors defaults) +*.tar  +*.tgz  +*.arc  +*.arj  +*.taz  +*.lha  +*.lz4  +*.lzh  +*.lzma  +*.tlz  +*.txz  +*.tzo  +*.t7z  +*.zip  +*.z  +*.dz  +*.gz  +*.lrz  +*.lz  +*.lzo  +*.xz  +*.zst  +*.tzst  +*.bz2  +*.bz  +*.tbz  +*.tbz2  +*.tz  +*.deb  +*.rpm  +*.jar  +*.war  +*.ear  +*.sar  +*.rar  +*.alz  +*.ace  +*.zoo  +*.cpio  +*.7z  +*.rz  +*.cab  +*.wim  +*.swm  +*.dwm  +*.esd  + +# image formats (extensions from dircolors defaults) +*.jpg  +*.jpeg  +*.mjpg  +*.mjpeg  +*.gif  +*.bmp  +*.pbm  +*.pgm  +*.ppm  +*.tga  +*.xbm  +*.xpm  +*.tif  +*.tiff  +*.png  +*.svg  +*.svgz  +*.mng  +*.pcx  +*.mov  +*.mpg  +*.mpeg  +*.m2v  +*.mkv  +*.webm  +*.ogm  +*.mp4  +*.m4v  +*.mp4v  +*.vob  +*.qt  +*.nuv  +*.wmv  +*.asf  +*.rm  +*.rmvb  +*.flc  +*.avi  +*.fli  +*.flv  +*.gl  +*.dl  +*.xcf  +*.xwd  +*.yuv  +*.cgm  +*.emf  +*.ogv  +*.ogx  + +# audio formats (extensions from dircolors defaults) +*.aac  +*.au  +*.flac  +*.m4a  +*.mid  +*.midi  +*.mka  +*.mp3  +*.mpc  +*.ogg  +*.ra  +*.wav  +*.oga  +*.opus  +*.spx  +*.xspf  + +# other formats +*.pdf  diff --git a/modules/tools/file-manager/lf/scripts/previewer.sh b/modules/tools/file-manager/lf/scripts/previewer.sh new file mode 100644 index 0000000..407e0a0 --- /dev/null +++ b/modules/tools/file-manager/lf/scripts/previewer.sh @@ -0,0 +1,3 @@ +#!/bin/sh +unset COLORTERM +bat -pp --line-range=:500 --color=always "$1" diff --git a/modules/tools/file-manager/lsd/default.nix b/modules/tools/file-manager/lsd/default.nix new file mode 100644 index 0000000..0f57e6b --- /dev/null +++ b/modules/tools/file-manager/lsd/default.nix @@ -0,0 +1,17 @@ +{ pkgs, lib, config, ... }: + +{ + options = { + lsd.enable = lib.mkEnableOption "Enables lsd."; + }; + + config = lib.mkIf config.lsd.enable { + programs.lsd.enable = true; + programs.lsd.enableAliases = true; + programs.bash.shellAliases."tree" = "${pkgs.lsd}/bin/lsd -a --tree"; + + programs.lsd.settings = { + icons.separator = " "; + }; + }; +} diff --git a/modules/tools/git/default.nix b/modules/tools/git/default.nix new file mode 100644 index 0000000..7396cb8 --- /dev/null +++ b/modules/tools/git/default.nix @@ -0,0 +1,20 @@ +{ lib, config, ... }: + +{ + options = { + git.enable = lib.mkEnableOption "Enables git."; + }; + + config = lib.mkIf config.git.enable { + programs.git.enable = true; + programs.git.userEmail = "54011232+arpitchakladar@users.noreply.github.com"; + programs.git.userName = "Arpit Chakladar"; + programs.git.extraConfig = { + credential.helper = "store --file ${config.xdg.cacheHome}/git/credential"; + core.askPass = ""; + }; + + # The base directory of the credential file must exist + home.activation.createGitCacheDirectory = lib.hm.dag.entryAfter [ "writeBoundary" ] "mkdir -p ${config.xdg.cacheHome}/git"; + }; +} diff --git a/modules/tools/system-monitor/default.nix b/modules/tools/system-monitor/default.nix new file mode 100644 index 0000000..a5b569c --- /dev/null +++ b/modules/tools/system-monitor/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./htop + ]; +} diff --git a/modules/tools/system-monitor/htop/default.nix b/modules/tools/system-monitor/htop/default.nix new file mode 100644 index 0000000..f27174a --- /dev/null +++ b/modules/tools/system-monitor/htop/default.nix @@ -0,0 +1,12 @@ +{ pkgs, lib, config, ... }: + +{ + options = { + htop.enable = lib.mkEnableOption "Enables htop."; + }; + + config = lib.mkIf config.htop.enable { + programs.htop.enable = true; + programs.htop.package = pkgs.htop-vim; + }; +} diff --git a/modules/tools/viewer/bat/default.nix b/modules/tools/viewer/bat/default.nix new file mode 100644 index 0000000..cc01f82 --- /dev/null +++ b/modules/tools/viewer/bat/default.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +{ + options = { + bat.enable = lib.mkEnableOption "Enables bat."; + }; + + config = lib.mkIf config.bat.enable { + programs.bat.enable = true; + programs.bat.config.theme = "customTheme"; + xdg.configFile."bat/themes/customTheme.tmTheme".text + = import ./theme.nix config; + }; +} diff --git a/modules/tools/viewer/bat/theme.nix b/modules/tools/viewer/bat/theme.nix new file mode 100644 index 0000000..e345ee4 --- /dev/null +++ b/modules/tools/viewer/bat/theme.nix @@ -0,0 +1,124 @@ +config: + +with config.scheme.withHashtag; +'' + + + + name + customTheme + settings + + + + settings + + background + #0F1419 + foreground + #E6E1CF + caret + #F3F4F5 + invisibles + #3E4B59 + lineHighlight + #272D38 + selection + #3E4B59 + + + + + + scope + comment + settings + + foreground + #BFBDB6 + + + + + scope + string + settings + + foreground + #FFB454 + + + + + scope + constant.numeric + settings + + foreground + #FF8F40 + + + + + scope + variable + settings + + foreground + #F07178 + + + + + scope + keyword + settings + + foreground + #59C2FF + + + + + scope + support.function + settings + + foreground + #D2A6FF + + + + + scope + constant.language + settings + + foreground + #B8CC52 + + + + + scope + entity.name.tag + settings + + foreground + #95E6CB + + + + + scope + invalid + settings + + foreground + #E6B673 + + + + + +'' diff --git a/modules/tools/viewer/default.nix b/modules/tools/viewer/default.nix new file mode 100644 index 0000000..dde782b --- /dev/null +++ b/modules/tools/viewer/default.nix @@ -0,0 +1,7 @@ +{ lib, config, ... }: + +{ + imports = [ + ./bat + ]; +} diff --git a/nvim/default.nix b/nvim/default.nix deleted file mode 100644 index 73dc359..0000000 --- a/nvim/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ pkgs, config, ... }: - -{ - programs.neovim.enable = true; - programs.neovim.viAlias = true; - programs.neovim.vimAlias = true; - programs.neovim.vimdiffAlias = true; - programs.neovim.defaultEditor = true; - - programs.neovim.extraPackages = with pkgs; [ - gcc # Required for treesitter - ]; - - programs.neovim.extraLuaConfig = -'' -${builtins.readFile ./options.lua} -${builtins.readFile ./keybindings.lua} - --- Plugins configuration -${builtins.readFile ./plugins/comment.lua} -${builtins.readFile ./plugins/lualine.lua} -${import ./plugins/treesitter.nix config} -${builtins.readFile ./plugins/base16.lua} -${builtins.readFile ./plugins/nvim-tree.lua} -''; - - programs.neovim.plugins = with pkgs.vimPlugins; [ - comment-nvim - lualine-nvim - nvim-treesitter - nvim-web-devicons - nvim-tree-lua - (base16-vim.overrideAttrs (old: { - patchPhase = "ln -s ${config.scheme base16-vim} colors/base16-scheme.vim"; - })) - ]; -} diff --git a/nvim/keybindings.lua b/nvim/keybindings.lua deleted file mode 100644 index 3e8e0fa..0000000 --- a/nvim/keybindings.lua +++ /dev/null @@ -1,8 +0,0 @@ --- Navigate splits -vim.keymap.set("n", "", ":wincmd h", { silent = true }); -vim.keymap.set("n", "", ":wincmd j", { silent = true }); -vim.keymap.set("n", "", ":wincmd k", { silent = true }); -vim.keymap.set("n", "", ":wincmd l", { silent = true }); - --- NvimTree -vim.keymap.set("n", "", ":NvimTreeToggle", { silent = true }); diff --git a/nvim/options.lua b/nvim/options.lua deleted file mode 100644 index b1fe9cb..0000000 --- a/nvim/options.lua +++ /dev/null @@ -1,21 +0,0 @@ -vim.g.mapleader = " "; -vim.g.maplocalleader = " "; - -vim.o.clipboard = "unnamedplus"; - -vim.o.number = true; -vim.o.list = true; -vim.o.listchars = "tab:| ,trail:_,lead:_"; - -vim.o.laststatus = 3; - -vim.o.signcolumn = "auto"; -vim.opt.fillchars = { eob = " " }; - -vim.o.tabstop = 2; -vim.o.shiftwidth = 2; -vim.o.expandtab = false; - -vim.o.updatetime = 300; - -vim.o.mouse = "a"; diff --git a/nvim/plugins/base16.lua b/nvim/plugins/base16.lua deleted file mode 100644 index 9843b76..0000000 --- a/nvim/plugins/base16.lua +++ /dev/null @@ -1,6 +0,0 @@ -vim.o.termguicolors = true; -vim.opt.termguicolors = true; -vim.o.background = "dark"; -vim.g.base16colorspace = 256 -vim.cmd.colorscheme("base16-scheme"); -vim.api.nvim_set_hl(0, "LineNr", { link = "Normal" }); -- disable the background of line numbers diff --git a/nvim/plugins/comment.lua b/nvim/plugins/comment.lua deleted file mode 100644 index 9086261..0000000 --- a/nvim/plugins/comment.lua +++ /dev/null @@ -1 +0,0 @@ -require("Comment").setup(); diff --git a/nvim/plugins/lualine.lua b/nvim/plugins/lualine.lua deleted file mode 100644 index ba2eda6..0000000 --- a/nvim/plugins/lualine.lua +++ /dev/null @@ -1,5 +0,0 @@ -require("lualine").setup { - options = { - globalstatus = true, - }, -}; diff --git a/nvim/plugins/nvim-tree.lua b/nvim/plugins/nvim-tree.lua deleted file mode 100644 index c6c4102..0000000 --- a/nvim/plugins/nvim-tree.lua +++ /dev/null @@ -1,13 +0,0 @@ -require("nvim-tree").setup { - filters = { - enable = false - }, - renderer = { - indent_markers = { - enable = true - }, - root_folder_label = function(path) - return vim.fn.fnamemodify(path, ":t") - end, - }, -}; diff --git a/nvim/plugins/treesitter.nix b/nvim/plugins/treesitter.nix deleted file mode 100644 index 05f1f2a..0000000 --- a/nvim/plugins/treesitter.nix +++ /dev/null @@ -1,13 +0,0 @@ -config: - -'' -require("nvim-treesitter.configs").setup { - auto_install = true, - highlight = { - enable = true, - }, - parser_install_dir = "${config.xdg.dataHome}/nvim", -}; - -vim.opt.runtimepath:append("${config.xdg.dataHome}/nvim"); -'' diff --git a/polybar/bars/main.nix b/polybar/bars/main.nix deleted file mode 100644 index 630664d..0000000 --- a/polybar/bars/main.nix +++ /dev/null @@ -1,28 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - width = "100%"; - height = 30; - radius = 3; - fixed-center = false; - - background = "${base00}"; - foreground = "${base05}"; - - line-size = 3; - line-color = "${base08}"; - - border-size = 4; - padding-left = 2; - padding-right = 2; - - module-margin-left = 2; - module-margin-right = 2; - - font-0 = "FiraCode Nerd Font:pixelsize=16;3"; - - modules-left = "bspwm"; - modules-center = "xwindow"; - modules-right = "memory cpu battery time date kernel-version"; -} diff --git a/polybar/default.nix b/polybar/default.nix deleted file mode 100644 index 8eec80f..0000000 --- a/polybar/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, ... }: - -{ - services.polybar.enable = true; - services.polybar.script = "polybar main &"; - - services.polybar.config = { - "bar/main" = import ./bars/main.nix config; - "module/xwindow" = import ./modules/xwindow.nix config; - "module/bspwm" = import ./modules/bspwm.nix config; - "module/cpu" = import ./modules/cpu.nix config; - "module/memory" = import ./modules/memory.nix config; - "module/date" = import ./modules/date.nix config; - "module/time" = import ./modules/time.nix config; - "module/battery" = import ./modules/battery.nix config; - "module/kernel-version" = import ./modules/kernel-version.nix config; - }; -} diff --git a/polybar/modules/battery.nix b/polybar/modules/battery.nix deleted file mode 100644 index 9860c3c..0000000 --- a/polybar/modules/battery.nix +++ /dev/null @@ -1,36 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/battery"; - battery = "BAT0"; - adapter = "ADP1"; - - format-charging = " "; - format-discharging = " "; - format-full-prefix = "%{F${base0B}}󰁹%{F-}"; - - ramp-capacity-0 = "%{F${base0C}}󰁺%{F-}"; - ramp-capacity-1 = "%{F${base0C}}󰁻%{F-}"; - ramp-capacity-2 = "%{F${base0C}}󰁼%{F-}"; - ramp-capacity-3 = "%{F${base0C}}󰁽%{F-}"; - ramp-capacity-4 = "%{F${base0C}}󰁾%{F-}"; - ramp-capacity-5 = "%{F${base0C}}󰁿%{F-}"; - ramp-capacity-6 = "%{F${base0C}}󰂀%{F-}"; - ramp-capacity-7 = "%{F${base0C}}󰂁%{F-}"; - ramp-capacity-8 = "%{F${base0C}}󰂂%{F-}"; - ramp-capacity-9 = "%{F${base0C}}󰁹%{F-}"; - - animation-charging-0 = "%{F${base0C}}󰁺%{F-}"; - animation-charging-1 = "%{F${base0C}}󰁻%{F-}"; - animation-charging-2 = "%{F${base0C}}󰁼%{F-}"; - animation-charging-3 = "%{F${base0C}}󰁽%{F-}"; - animation-charging-4 = "%{F${base0C}}󰁾%{F-}"; - animation-charging-5 = "%{F${base0C}}󰁿%{F-}"; - animation-charging-6 = "%{F${base0C}}󰂀%{F-}"; - animation-charging-7 = "%{F${base0C}}󰂁%{F-}"; - animation-charging-8 = "%{F${base0C}}󰂂%{F-}"; - animation-charging-9 = "%{F${base0C}}󰁹%{F-}"; - - animation-charging-framerate = 750; -} diff --git a/polybar/modules/bspwm.nix b/polybar/modules/bspwm.nix deleted file mode 100644 index 7ec5c6d..0000000 --- a/polybar/modules/bspwm.nix +++ /dev/null @@ -1,22 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/bspwm"; - - label-focused = "%index%"; - label-focused-background = "${base01}"; - label-focused-underline = "${base0D}"; - label-focused-padding = 2; - - label-occupied = "%index%"; - label-occupied-padding = 2; - - label-urgent = "%index%!"; - label-urgent-background = "${base08}"; - label-urgent-padding = 2; - - label-empty = "%index%"; - label-empty-foreground = "${base03}"; - label-empty-padding = 2; -} diff --git a/polybar/modules/cpu.nix b/polybar/modules/cpu.nix deleted file mode 100644 index f118990..0000000 --- a/polybar/modules/cpu.nix +++ /dev/null @@ -1,9 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/cpu"; - interval = 2; - format-prefix = "%{F${base09}} %{F-}"; - label = "%percentage%%"; -} diff --git a/polybar/modules/date.nix b/polybar/modules/date.nix deleted file mode 100644 index 11a5934..0000000 --- a/polybar/modules/date.nix +++ /dev/null @@ -1,10 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/date"; - interval = 60; - date = "%d/%m/%Y"; - label = "%date%"; - format-prefix = "%{F${base0B}} %{F-}"; -} diff --git a/polybar/modules/kernel-version.nix b/polybar/modules/kernel-version.nix deleted file mode 100644 index a900264..0000000 --- a/polybar/modules/kernel-version.nix +++ /dev/null @@ -1,10 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "custom/script"; - exec = "uname -r"; - interval = 1024; - format-prefix = "%{F${base03}} %{F-}"; - label = "%output%"; -} diff --git a/polybar/modules/memory.nix b/polybar/modules/memory.nix deleted file mode 100644 index 1aff8a3..0000000 --- a/polybar/modules/memory.nix +++ /dev/null @@ -1,9 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/memory"; - interval = 2; - format-prefix = "%{F${base0A}} %{F-}"; - label = "%percentage_used%%"; -} diff --git a/polybar/modules/time.nix b/polybar/modules/time.nix deleted file mode 100644 index e4c7cbe..0000000 --- a/polybar/modules/time.nix +++ /dev/null @@ -1,10 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/date"; - interval = 30; - time = "%H:%M"; - label = "%time%"; - format-prefix = "%{F${base0C}} %{F-}"; -} diff --git a/polybar/modules/xwindow.nix b/polybar/modules/xwindow.nix deleted file mode 100644 index 23245ba..0000000 --- a/polybar/modules/xwindow.nix +++ /dev/null @@ -1,7 +0,0 @@ -config: - -with config.scheme.withHashtag; -{ - type = "internal/xwindow"; - label = "%title:0:30:...%"; -} diff --git a/rofi/default.nix b/rofi/default.nix deleted file mode 100644 index ad75900..0000000 --- a/rofi/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: - -{ - programs.rofi.enable = true; - programs.rofi.font = "FiraCode Nerd Font 16"; - programs.rofi.theme = import ./theme/default.nix config; -} diff --git a/rofi/theme/default.nix b/rofi/theme/default.nix deleted file mode 100644 index b0b8173..0000000 --- a/rofi/theme/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -config: - -with config.scheme.withHashtag; -builtins.toFile "theme.rasi" -'' -${builtins.readFile ./theme.rasi} -configuration { - font: "${config.programs.rofi.font}"; -} - -* { - bg: ${base00}; - bg-alt: ${base01}; - fg: ${base07}; - fg-alt: ${base03}; -} - -window { - border-color: ${base03}; -} -'' diff --git a/rofi/theme/theme.rasi b/rofi/theme/theme.rasi deleted file mode 100644 index 9d808b9..0000000 --- a/rofi/theme/theme.rasi +++ /dev/null @@ -1,76 +0,0 @@ -configuration { - drun { - display-name: " "; - } - - run { - display-name: " "; - } - - window { - display-name: " "; - } - - ssh { - display-name: " "; - } - - timeout { - delay: 10; - action: "kb-cancel"; - } -} - -* { - border: 1; - margin: 0; - padding: 0; - spacing: 0; - - background-color: @bg; - text-color: @fg; -} - -window { - transparency: "real"; -} - -mainbox { - children: [inputbar, listview]; -} - -inputbar { - background-color: @bg-alt; - children: [prompt, entry]; -} - -entry { - background-color: inherit; - padding: 12px 3px; -} - -prompt { - background-color: inherit; - padding: 12px; -} - -listview { - lines: 8; -} - -element { - children: [element-text]; -} - -element-icon { - padding: 10px 10px; -} - -element-text { - padding: 10px 10px; - text-color: @fg-alt; -} - -element-text selected { - text-color: @fg; -} diff --git a/sxhkd/default.nix b/sxhkd/default.nix deleted file mode 100644 index c481136..0000000 --- a/sxhkd/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ pkgs, config, ... }: - -{ - services.sxhkd.enable = true; - - services.sxhkd.keybindings = - let - modKey = "alt"; - createKeybinding = keybinding: description: "# ${description}\n${modKey} + ${keybinding}"; - in { - ${(createKeybinding - "s" - "Show keybindings.")} - = pkgs.writeShellScript - "show-keybindings.sh" - (builtins.readFile ./scripts/show-keybindings.sh); - - ${(createKeybinding - "r" - "Launch rofi.")} - = "rofi -show run"; - - ${(createKeybinding - "t" - "Launch terminal.")} - = "alacritty"; - - ${(createKeybinding - "f" - "Launch File Explorer.")} - = "alacritty -t 'File Explorer' --class 'popup' -e lf"; - - ${(createKeybinding - "q" - "Kill current window.")} - = "bspc node -c"; - - ${(createKeybinding - "{1-9,0}" - "Switch workspace.")} - = "bspc desktop -f {1-9,10}"; - - ${(createKeybinding - "shift + {1-9,0}" - "Move window to workspace.")} - = "bspc node -d {1-9,10} --follow"; - - ${(createKeybinding - "{n,d,m}" - "Set current window mode (tiled, floating, fullscreen).")} - = "bspc node focused -t {tiled,floating,fullscreen}"; - - ${(createKeybinding - "{_,shift + }{h,j,k,l}" - "Navigate between windows.")} - = "bspc node --{focus,swap} {west,south,north,east}"; - - # the indentation for each line is required to work with the help prompt - ${(createKeybinding - "ctrl + {h,j,k,l}" - "Resize current window.")} - = '' - {bspc node @parent/second -z left -20 0; \ - bspc node @parent/first -z right -20 0, \ - bspc node @parent/second -z top 0 +20; \ - bspc node @parent/first -z bottom 0 +20, \ - bspc node @parent/first -z bottom 0 -20; \ - bspc node @parent/second -z top 0 -20, \ - bspc node @parent/first -z right +20 0; \ - bspc node @parent/second -z left +20 0} - ''; - }; -} diff --git a/sxhkd/scripts/show-keybindings.sh b/sxhkd/scripts/show-keybindings.sh deleted file mode 100644 index db7863d..0000000 --- a/sxhkd/scripts/show-keybindings.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -SXHKD_CONFIG="$HOME/.config/sxhkd/sxhkdrc" - -awk ' - /^#/ { - desc = substr($0, 3) - } - /^[[:alnum:]]/ { - cmd = $0 - getline - print cmd " : " desc - } -' "$SXHKD_CONFIG" | rofi -dmenu -i -p "Keybindings" diff --git a/xresources/default.nix b/xresources/default.nix deleted file mode 100644 index 34f986c..0000000 --- a/xresources/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: - -{ - home.file.".xinitrc" = { - source = ./xinitrc; - executable = true; - }; -} diff --git a/xresources/xinitrc b/xresources/xinitrc deleted file mode 100644 index 2ac4486..0000000 --- a/xresources/xinitrc +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -polybar main & -sxhkd & -exec bspwm diff --git a/zsh/default.nix b/zsh/default.nix deleted file mode 100644 index 1951933..0000000 --- a/zsh/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ config, ... }: - -{ - programs.zsh.enable = true; - programs.zsh.dotDir = ".config/zsh"; - programs.zsh.history.path = "${config.xdg.cacheHome}/zsh/history"; - programs.zsh.initExtra = builtins.readFile ./zshrc; - programs.zsh.shellAliases = config.programs.bash.shellAliases; -} diff --git a/zsh/zshrc b/zsh/zshrc deleted file mode 100644 index 528bf68..0000000 --- a/zsh/zshrc +++ /dev/null @@ -1,19 +0,0 @@ -setopt PROMPT_SUBST - -autoload -U colors && colors - -autoload -Uz vcs_info -precmd() { vcs_info } - -zstyle ':vcs_info:git:*' formats ' %F{yellow}[%F{cyan}%b %c%F{blue}%a%F{yellow}]' -zstyle ':vcs_info:git:*' actionformats ' %F{yellow}[%F{cyan}%b %c%F{blue}%a%F{yellow}]' - -zstyle ':vcs_info:*+set-message:*' hooks git-untracked git-dirty - -zstyle ':vcs_info:git:*' check-for-changes true -zstyle ':vcs_info:git:*' stagedstr '%F{green}✓%f' -zstyle ':vcs_info:git:*' unstagedstr '%F{red}✗%f' -zstyle ':vcs_info:git:*' aheadstr '%F{blue}⬆%f' -zstyle ':vcs_info:git:*' behindstr '%F{yellow}⬇%f' -PROMPT='%F{red}╭──[%F{green}%m%F{red}@%F{blue}%n%F{red}] %F{magenta}%~%f${vcs_info_msg_0_}%F{red} -╰─>%f ' -- cgit v1.2.3