diff --git a/hosts/zilch/default.nix b/hosts/zilch/default.nix index 81791478..d9ea3cce 100755 --- a/hosts/zilch/default.nix +++ b/hosts/zilch/default.nix @@ -18,8 +18,8 @@ boot.loader.efi.canTouchEfiVariables = true; # Change the Linux kernel version. - boot.kernelPackages = pkgs.linuxPackages_5_8; - boot.extraModulePackages = [ pkgs.linuxPackages_5_8.nvidia_x11 ]; + boot.kernelPackages = pkgs.linuxPackages_5_10; + boot.extraModulePackages = [ pkgs.linuxPackages_5_10.nvidia_x11 ]; # Clean up the /tmp directory. boot.cleanTmpDir = true; @@ -73,6 +73,11 @@ fontconfig.enable = true; }; + location = { + latitude = 15.0; + longitude = 121.0; + }; + # Module configurations. modules = { desktop = { @@ -86,7 +91,7 @@ firefox.enable = true; nyxt.enable = true; }; - cad.enable = true; + #cad.enable = true; fonts.enable = true; files.enable = true; graphics = { @@ -97,6 +102,7 @@ }; multimedia.enable = true; research.enable = true; + wine.enable = true; }; dev = { @@ -158,6 +164,7 @@ services = { recoll.enable = true; }; shell = { + archiving.enable = true; base.enable = true; lf.enable = true; zsh.enable = true; @@ -180,12 +187,14 @@ dwarf-fortress # Losing is fun! endless-sky # Losing is meh! minetest # Losing?! What's that? + the-powder-toy # Losing? The only thing losing is your time! wesnoth # Losing is frustrating! #zeroad # Losing is fun and frustrating! # Installing some of the dependencies required for my scripts. ffcast giflib + imageworsener leptonica libpng libwebp @@ -199,11 +208,18 @@ zbar # Some other packages. + leocad screenkey ] # My custom packages. - ++ (with pkgs.nur.foo-dogsquared; [ julia-bin license-cli openring segno ]); + ++ (with pkgs.nur.foo-dogsquared; [ + flavours + julia-bin + hantemcli + license-cli + segno + ]); # Setting up the shell environment. my.env = { @@ -224,8 +240,6 @@ # Set your time zone. time.timeZone = "Asia/Manila"; - services.openssh.enable = true; - services.lorri.enable = true; # Setup GnuPG. programs.gnupg.agent = { @@ -235,12 +249,32 @@ }; # Install a proprietary Nvidia graphics driver. - services.xserver = { - libinput = { - enable = true; - middleEmulation = true; + services = { + xserver = { + digimend.enable = true; + libinput = { + enable = true; + middleEmulation = true; + }; }; - digimend.enable = true; + lorri.enable = true; + nfs = { + server = { + enable = true; + exports = '' + /home 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check) + ''; + }; + }; + openssh = { + enable = true; + permitRootLogin = "yes"; + extraConfig = '' + PasswordAuthentication yes + ''; + ports = [ 22664 ]; + }; + redshift.enable = true; # videoDrivers = [ "nvidiaLegacy390" ]; }; @@ -264,9 +298,20 @@ # Use the entire suite. package = pkgs.gitAndTools.gitFull; + # Enable Delta syntax highlighter. + delta.enable = true; + userName = "Gabriel Arazas"; userEmail = "${config.my.email}"; }; + + # Enable this to make your prompt out of this world. + starship = { + enableBashIntegration = true; + enableFishIntegration = true; + enableZshIntegration = true; + enable = true; + }; }; services = { @@ -281,9 +326,12 @@ commandOptions = { auto = "true"; batch = "true"; + dontchmod = "true"; fat = "true"; force = "${homeDirectory}"; + group = "true"; links = "false"; + rsrc = "true"; ui = "text"; }; }; diff --git a/modules/default.nix b/modules/default.nix index 81cac962..da287b52 100755 --- a/modules/default.nix +++ b/modules/default.nix @@ -47,25 +47,6 @@ in { alias = mkOption { type = with types; nullOr (attrsOf (nullOr (either str path))); }; - - zsh = { - rc = mkOption { - type = types.lines; - default = ""; - description = '' - Zsh lines to be written to $XDG_CONFIG_HOME/zsh/extra.zshrc and - sourced by $XDG_CONFIG_HOME/zsh/.zshrc - ''; - }; - env = mkOption { - type = types.lines; - default = ""; - description = '' - Zsh lines to be written to $XDG_CONFIG_HOME/zsh/extra.zshenv and - sourced by $XDG_CONFIG_HOME/zsh/.zshenv - ''; - }; - }; }; }; @@ -91,19 +72,12 @@ in { ${concatStringsSep "\n" exportLines} ''; - my.home.xdg.configFile = { - "zsh/.zshrc".text = let - aliasLines = mapAttrsToList (key: value: ''alias ${key}="${value}"'') - config.my.alias; - in '' - # This file is autogenerated, do not edit it! - ${concatStringsSep "\n" aliasLines} - ${config.my.zsh.rc} - ''; - "zsh/.zshenv".text = '' - # This file is autogenerated, please do not edit it! - ${config.my.zsh.env} - ''; + my.home = { + programs = { + bash.shellAliases = config.my.alias; + zsh.shellAliases = config.my.alias; + fish.shellAliases = config.my.alias; + }; }; }; } diff --git a/modules/desktop/audio.nix b/modules/desktop/audio.nix index 7e084b2c..61ef5360 100755 --- a/modules/desktop/audio.nix +++ b/modules/desktop/audio.nix @@ -5,8 +5,7 @@ with lib; -let - cfg = config.modules.desktop.audio; +let cfg = config.modules.desktop.audio; in { options.modules.desktop.audio = let mkBoolDefault = bool: @@ -20,7 +19,6 @@ in { production.enable = mkBoolDefault false; }; - config = mkIf cfg.enable { my.packages = with pkgs; [ @@ -47,7 +45,7 @@ in { hydrogen # Them drum beats composition will get good. lmms # A decent libre FL Studio clone. polyphone # Edit your fonts for sound. - sunvox # A modular sequencer... ooh... + #sunvox # A modular sequencer... ooh... #zrythm # An up-and-coming DAW in Linux town. zynaddsubfx # Ze most advanced synthesizer I've seen so far (aside from the upcoming Vital syntehsizer). ] else diff --git a/modules/desktop/browsers.nix b/modules/desktop/browsers.nix index f8c6a12d..d6022dd2 100755 --- a/modules/desktop/browsers.nix +++ b/modules/desktop/browsers.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.desktop.browsers; +let cfg = config.modules.desktop.browsers; in { options.modules.desktop.browsers = let mkBoolDefault = bool: diff --git a/modules/desktop/cad.nix b/modules/desktop/cad.nix index 363a0e55..51a5f4e8 100755 --- a/modules/desktop/cad.nix +++ b/modules/desktop/cad.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.desktop.cad; +let cfg = config.modules.desktop.cad; in { options.modules.desktop.cad = { enable = mkOption { @@ -16,7 +15,7 @@ in { config = mkIf cfg.enable { my.packages = with pkgs; [ freecad # FREE AS A BIRD, FREE AS A ALL-YOU-CAN-EAT BUFFER! - #kicad # The CAD for ki which is a form of energy found everywhere. + kicad # The CAD for ki which is a form of energy found everywhere. leocad # A CAD for leos, a well-known brand of toys. openscad # A programmable CAD for programmers. ]; diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index ba0d1c3a..5a93a7ea 100755 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -11,5 +11,6 @@ ./graphics.nix ./multimedia.nix ./research.nix + ./wine.nix ]; } diff --git a/modules/desktop/files.nix b/modules/desktop/files.nix index bae64d22..d262055c 100755 --- a/modules/desktop/files.nix +++ b/modules/desktop/files.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.desktop.files; +let cfg = config.modules.desktop.files; in { options.modules.desktop.files = { enable = mkOption { @@ -15,12 +14,12 @@ in { config = mkIf cfg.enable { my.packages = with pkgs; [ + croc # Despite the name, it is a good and tame tool to send your files over. exiftool # A file metadata reader/writer/manager/helicopter. (recoll.override { withGui = false; }) # Bring the search engine to the desktop! unison # Back those files up, son. - magic-wormhole # Magically transfer stuff between your wormholes! oneshot # Basically `python -m http.server` that can deliver files to various devices. qbittorrent # Free version of uBittorrent. xfce.thunar # A graphical file manager. @@ -28,10 +27,16 @@ in { udiskie # An automounter for external devices with authentication. ]; - services = { - # Enable Syncthing for them cross-device syncing. - syncthing.enable = true; + my.home = { + services = { + # Enable Syncthing for them cross-device syncing. + syncthing = { + enable = true; + }; + }; + }; + services = { # Argh! Open t' gateweh t' th' high seas! transmission.enable = true; }; diff --git a/modules/desktop/fonts.nix b/modules/desktop/fonts.nix index 7a9269bd..9f7d05b5 100755 --- a/modules/desktop/fonts.nix +++ b/modules/desktop/fonts.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.desktop.fonts; +let cfg = config.modules.desktop.fonts; in { options.modules.desktop.fonts = { enable = mkOption { diff --git a/modules/desktop/graphics.nix b/modules/desktop/graphics.nix index a47d85db..8bb326f2 100755 --- a/modules/desktop/graphics.nix +++ b/modules/desktop/graphics.nix @@ -4,8 +4,7 @@ with lib; -let - cfg = config.modules.desktop.graphics; +let cfg = config.modules.desktop.graphics; in { options.modules.desktop.graphics = let mkBoolDefault = bool: @@ -40,6 +39,7 @@ in { gimp # Adobe Photoshop replacement. krita # A good painting program useful for "pure" digital arts. aseprite-unfree # A pixel art editor. + rawtherapee # A therapy session for improving your photos. ] else [ ]) ++ diff --git a/modules/desktop/multimedia.nix b/modules/desktop/multimedia.nix index 07b07e96..0067a683 100755 --- a/modules/desktop/multimedia.nix +++ b/modules/desktop/multimedia.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.desktop.multimedia; +let cfg = config.modules.desktop.multimedia; in { options.modules.desktop.multimedia = { enable = mkOption { diff --git a/modules/desktop/research.nix b/modules/desktop/research.nix index b41f4e35..abe6bb10 100755 --- a/modules/desktop/research.nix +++ b/modules/desktop/research.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.desktop.research; +let cfg = config.modules.desktop.research; in { options.modules.desktop.research = { enable = mkOption { diff --git a/modules/desktop/wine.nix b/modules/desktop/wine.nix new file mode 100644 index 00000000..37157473 --- /dev/null +++ b/modules/desktop/wine.nix @@ -0,0 +1,21 @@ +{ config, options, lib, pkgs, ... }: + +with lib; + +let cfg = config.modules.desktop.wine; +in { + options.modules.desktop.wine = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; + + config = mkIf cfg.enable { + my.packages = with pkgs; [ + #airwave + wine + winetricks + ]; + }; +} diff --git a/modules/dev/android.nix b/modules/dev/android.nix index 281c5973..92864413 100755 --- a/modules/dev/android.nix +++ b/modules/dev/android.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.dev.android; +let cfg = config.modules.dev.android; in { options.modules.dev.android = { enable = mkOption { @@ -20,14 +19,19 @@ in { flutter # It's Electron except saner and slimmer. kotlin # It's Java except saner and slimmer. scrcpy # Cast your phone over TCP/IP! + termshark # Know where those files from your Android app in command line. + wireshark # Know where those files from your Android app. ]; # Enable Android Debug Bridge for some device debugging. programs.adb.enable = true; + # Enable Wireshark for them data-mining... I mean, analyzing and debugging HTTP requests. + programs.wireshark.enable = true; + # Install Anbox emulation. #virtualisation.anbox.enable = true; - my.user.extraGroups = [ "adbusers" ]; + my.user.extraGroups = [ "adbusers" "wireshark" ]; }; } diff --git a/modules/dev/base.nix b/modules/dev/base.nix index e30b4aac..b4ae20bc 100755 --- a/modules/dev/base.nix +++ b/modules/dev/base.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.dev.base; +let cfg = config.modules.dev.base; in { options.modules.dev.base = { enable = mkOption { @@ -19,11 +18,13 @@ in { cmake # Yo, I heard you like Makefiles. cookiecutter # A project scaffolding tool. gnumake # Make your life easier with GNU Make. + gitAndTools.hub # I wish Gitlab has something called lab. hyperfine # You shouldn't be feel just fine with your programs... kmon # A Linux kernel monitoring tool, right... nixfmt # Formatter for uniform Nix code. + radare2-cutter # Rev-eng tools to feel like a hacker. stow # Build your symlink farm on the other side of the country, er, filesystem. - tldr # What manuals should include. + tealdeer # What manuals should include. universal-ctags # Enable fast traveling to your code (assuming written in a supported language). ]; @@ -35,13 +36,11 @@ in { enableFishIntegration = true; enableZshIntegration = true; }; + + # Enabling all of the shells for cross-testing purposes. fish.enable = true; + bash.enable = true; + zsh.enable = true; }; }; - - my.zsh = { - rc = '' - eval "$(${pkgs.direnv}/bin/direnv hook zsh)" - ''; - }; } diff --git a/modules/dev/cc.nix b/modules/dev/cc.nix index 3860bffd..18863e3b 100755 --- a/modules/dev/cc.nix +++ b/modules/dev/cc.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.dev.cc; +let cfg = config.modules.dev.cc; in { options.modules.dev.cc = { enable = mkOption { diff --git a/modules/dev/data.nix b/modules/dev/data.nix index 9fa5947e..ee85e992 100755 --- a/modules/dev/data.nix +++ b/modules/dev/data.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.dev.data; +let cfg = config.modules.dev.data; in { options.modules.dev.data = { enable = mkOption { @@ -19,24 +18,31 @@ in { }; config = mkIf cfg.enable { - my.packages = with pkgs; [ - cfitsio # A data library for FITS images which is an image used for analyzing your fitness level. - hdf5 # A binary data format with hierarchy and metadata. - #hdfview # HDF4 and HDF5 viewer. - jq # A JSON parser on the command-line (with the horrible syntax, in my opinion). - pup # A cute little puppy that can understand HTML. - sqlite # A cute little battle-tested library for your data abominations. - sqlitebrowser # Skim the DB and create a quick scraping script for it. - yq # A YAML parser on the command-line. - ] ++ + my.packages = with pkgs; + [ + cfitsio # A data library for FITS images which is an image used for analyzing your fitness level. + hdf5 # A binary data format with hierarchy and metadata. + #hdfview # HDF4 and HDF5 viewer. + jq # A JSON parser on the command-line (with the horrible syntax, in my opinion). + pup # A cute little puppy that can understand HTML. + sqlite # A cute little battle-tested library for your data abominations. + sqlitebrowser # Skim the DB and create a quick scraping script for it. + yq-go # A YAML parser on the command-line. + ] ++ - (if cfg.dhall.enable then [ - dhall # A dull programmable configuration Turing-incomplete language for your guaranteed termination, neat. - dhall-nix - dhall-bash - dhall-json - dhall-text - dhall-lsp-server - ] else []); + (if cfg.dhall.enable then [ + dhall # A dull programmable configuration Turing-incomplete language for your guaranteed termination, neat. + dhall-nix + dhall-bash + dhall-json + dhall-text + dhall-lsp-server + ] else + [ ]); + + my.alias = { + yaml2json = "${pkgs.yq-go}/bin/yq r --prettyPrint --tojson"; + json2yaml = "${pkgs.yq-go}/bin/yq r --prettyPrint"; + }; }; } diff --git a/modules/dev/documentation.nix b/modules/dev/documentation.nix index eb68e21c..22452a97 100755 --- a/modules/dev/documentation.nix +++ b/modules/dev/documentation.nix @@ -5,8 +5,7 @@ with lib; -let - cfg = config.modules.dev.documentation; +let cfg = config.modules.dev.documentation; in { options.modules.dev.documentation = let mkBoolOption = bool: diff --git a/modules/dev/gamedev.nix b/modules/dev/gamedev.nix index fe0f646f..423d63f9 100755 --- a/modules/dev/gamedev.nix +++ b/modules/dev/gamedev.nix @@ -4,8 +4,7 @@ with lib; -let - cfg = config.modules.dev.game-dev; +let cfg = config.modules.dev.game-dev; in { options.modules.dev.game-dev = let mkBoolOption = bool: diff --git a/modules/dev/go.nix b/modules/dev/go.nix index 29ec15d7..e2e81b1e 100755 --- a/modules/dev/go.nix +++ b/modules/dev/go.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.dev.go; +let cfg = config.modules.dev.go; in { options.modules.dev.go = { enable = mkOption { diff --git a/modules/dev/java.nix b/modules/dev/java.nix index bfce3796..a654a731 100755 --- a/modules/dev/java.nix +++ b/modules/dev/java.nix @@ -4,8 +4,7 @@ with lib; -let - cfg = config.modules.dev.java; +let cfg = config.modules.dev.java; in { options.modules.dev.java = { enable = mkOption { diff --git a/modules/dev/lisp.nix b/modules/dev/lisp.nix index 64ceca60..773222cc 100755 --- a/modules/dev/lisp.nix +++ b/modules/dev/lisp.nix @@ -5,8 +5,7 @@ with lib; -let - cfg = config.modules.dev.lisp; +let cfg = config.modules.dev.lisp; in { options.modules.dev.lisp = let mkBoolDefault = bool: diff --git a/modules/dev/perl.nix b/modules/dev/perl.nix index de3189f4..5c5d9de2 100755 --- a/modules/dev/perl.nix +++ b/modules/dev/perl.nix @@ -26,7 +26,6 @@ in { config = mkIf cfg.enable { my.packages = [ perlWithPackages ] - ++ (if cfg.raku.enable then [ - pkgs.rakudo - ] else []); }; + ++ (if cfg.raku.enable then [ pkgs.rakudo ] else [ ]); + }; } diff --git a/modules/dev/python.nix b/modules/dev/python.nix index b277b0f6..187fd574 100755 --- a/modules/dev/python.nix +++ b/modules/dev/python.nix @@ -5,8 +5,7 @@ with lib; -let - cfg = config.modules.dev.python; +let cfg = config.modules.dev.python; in { options.modules.dev.python = let mkBoolOption = bool: diff --git a/modules/dev/rust.nix b/modules/dev/rust.nix index 3c36b69d..f8884caa 100755 --- a/modules/dev/rust.nix +++ b/modules/dev/rust.nix @@ -4,8 +4,7 @@ with lib; -let - cfg = config.modules.dev.rust; +let cfg = config.modules.dev.rust; in { options.modules.dev.rust = { enable = mkOption { diff --git a/modules/dev/vcs.nix b/modules/dev/vcs.nix index f00d911e..4dfed03d 100755 --- a/modules/dev/vcs.nix +++ b/modules/dev/vcs.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.dev.vcs; +let cfg = config.modules.dev.vcs; in { options.modules.dev.vcs = { enable = mkOption { diff --git a/modules/dev/web.nix b/modules/dev/web.nix index a5b26556..338e2b3c 100755 --- a/modules/dev/web.nix +++ b/modules/dev/web.nix @@ -6,8 +6,7 @@ with lib; -let - cfg = config.modules.dev.web; +let cfg = config.modules.dev.web; in { options.modules.dev.web = let mkBoolOption = bool: diff --git a/modules/hardware/audio.nix b/modules/hardware/audio.nix index ae2f800f..263f4e11 100644 --- a/modules/hardware/audio.nix +++ b/modules/hardware/audio.nix @@ -1,8 +1,7 @@ { config, options, lib, pkgs, ... }: with lib; -let - cfg = config.modules.hardware.audio; +let cfg = config.modules.hardware.audio; in { options.modules.hardware.audio = let mkBoolDefault = bool: @@ -10,9 +9,9 @@ in { type = types.bool; default = false; }; - in { - enable = mkBoolDefault false; - jack.enable = mkBoolDefault false; + in { + enable = mkBoolDefault false; + jack.enable = mkBoolDefault false; }; config = mkIf cfg.enable { diff --git a/modules/hardware/veikk.nix b/modules/hardware/veikk.nix index afa5bfb3..d0a25a4f 100755 --- a/modules/hardware/veikk.nix +++ b/modules/hardware/veikk.nix @@ -2,8 +2,7 @@ { config, options, lib, pkgs, ... }: with lib; -let - cfg = config.modules.hardware.veikk; +let cfg = config.modules.hardware.veikk; in { options.modules.hardware.veikk = { enable = mkOption { @@ -12,7 +11,6 @@ in { }; }; - config = mkIf cfg.enable { - boot.extraModulePackages = [ pkgs.veikk-linux-driver ]; - }; + config = + mkIf cfg.enable { boot.extraModulePackages = [ pkgs.veikk-linux-driver ]; }; } diff --git a/modules/shell/archiving.nix b/modules/shell/archiving.nix new file mode 100644 index 00000000..a32c7dd3 --- /dev/null +++ b/modules/shell/archiving.nix @@ -0,0 +1,21 @@ +{ config, options, lib, pkgs, ... }: + +with lib; + +let cfg = config.modules.shell.archiving; +in { + options.modules.shell.archiving = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; + + config = mkIf cfg.enable { + my.packages = with pkgs; [ + aria2 # The sequel to aria(1). + fanficfare # youtube-dl for fanfics. Not that I read fanfics. + youtube-dl # A program that can be sued for false advertisement as you can download from other video sources. + ]; + }; +} diff --git a/modules/shell/base.nix b/modules/shell/base.nix index 1dbc6750..b480f930 100755 --- a/modules/shell/base.nix +++ b/modules/shell/base.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.shell.base; +let cfg = config.modules.shell.base; in { options.modules.shell.base = { enable = mkOption { @@ -15,7 +14,6 @@ in { config = mkIf cfg.enable { my.packages = with pkgs; [ - aria2 # The sequel to aria(1). aspell # Hunt down a spelling bee champion to come to your shell. bat # cat(1) with wings. buku # A developer-oriented browser-independent bookmark manager. @@ -27,7 +25,7 @@ in { graphviz # The biz central for graphical flowcharts. hexyl # Binary viewer with a cool name on the command-line. hledger # Do your accountancy thing ON THE COMMAND LINE, sure why not! - httpie # Want a piece of the HTTP pie. + httpie # Want a piece of the humble pie to humbly HTTP requests? jq # A command-line interface for parsing JSON. lazygit # For the lazy gits who cannot get good at Git. lazydocker # For the lazy gits who cannot get good at Docker. @@ -51,13 +49,9 @@ in { enable = true; config = { theme = "base16"; }; }; - }; - }; - my.zsh = { - rc = '' - eval "$(${pkgs.zoxide}/bin/zoxide init zsh)" - ''; + zoxide.enable = true; + }; }; }; } diff --git a/modules/shell/default.nix b/modules/shell/default.nix index 96078619..477d65f6 100755 --- a/modules/shell/default.nix +++ b/modules/shell/default.nix @@ -2,5 +2,5 @@ { config, options, lib, pkgs, ... }: with lib; { - imports = [ ./base.nix ./lf.nix ./zsh.nix ]; + imports = [ ./archiving.nix ./base.nix ./lf.nix ./zsh.nix ]; } diff --git a/modules/shell/lf.nix b/modules/shell/lf.nix index fd45cdc5..119310f5 100755 --- a/modules/shell/lf.nix +++ b/modules/shell/lf.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.shell.lf; +let cfg = config.modules.shell.lf; in { options.modules.shell.lf = { enable = mkOption { diff --git a/modules/shell/zsh.nix b/modules/shell/zsh.nix index 12a74801..11101c53 100755 --- a/modules/shell/zsh.nix +++ b/modules/shell/zsh.nix @@ -3,8 +3,7 @@ with lib; -let - cfg = config.modules.shell.zsh; +let cfg = config.modules.shell.zsh; in { options.modules.shell.zsh = { enable = mkOption { @@ -21,11 +20,6 @@ in { autosuggestions.enable = true; histFile = "$XDG_DATA_HOME/zsh/history"; - # Adding basic version control support to the zsh prompt. - # https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Zsh - promptInit = - "\n autoload -Uz vcs_info\n precmd_vcs_info() { vcs_info }\n precmd_functions+=( precmd_vcs_info )\n setopt prompt_subst\n zstyle ':vcs_info:*' formats '[%s] (%b)'\n autoload -U colors && colors\n PROMPT=\"%F%{\${fg[white]}%}%(0?.√.%?) %B%{$fg[magenta]%}%1~%{$reset_color%} $vcs_info_msg_0_ $%f%b \"\n RPROMPT=\"[%D %*]\"\n "; - interactiveShellInit = '' # Use lf to switch directories and bind it to ctrl-o lfcd () { @@ -43,11 +37,5 @@ in { ohMyZsh.plugins = [ "history-substring-search" ]; syntaxHighlighting.enable = true; }; - - my.home.home.file = { - ".zshenv".text = '' - export ZDOTDIR="$XDG_CONFIG_HOME/zsh" - ''; - }; }; } diff --git a/modules/themes/fair-and-square/config/alacritty/alacritty.yml b/modules/themes/fair-and-square/config/alacritty/alacritty.yml index 5f2adaa1..ce30d5d2 100755 --- a/modules/themes/fair-and-square/config/alacritty/alacritty.yml +++ b/modules/themes/fair-and-square/config/alacritty/alacritty.yml @@ -56,28 +56,28 @@ window: colors: primary: - background: "#2E3440" - foreground: "#D8DEE9" + background: "#2b221f" + foreground: "#fefefe" normal: - black: "#3B4252" - red: "#BF616A" - green: "#A3BE8C" - yellow: "#EBCB8B" - blue: "#81A1C1" - magenta: "#B48EAD" - cyan: "#88C0D0" - white: "#E5E9F0" + black: "#2b221f" + red: "#d03e68" + green: "#afa644" + yellow: "#dbbc48" + blue: "#a15c40" + magenta: "#8b7ab9" + cyan: "#df937a" + white: "#e9d3ce" bright: - black: "#727B8A" - red: "#BF616A" - green: "#A3BE8C" - yellow: "#EBCB8B" - blue: "#81A1C1" - magenta: "#B48EAD" - cyan: "#8FBCBB" - white: "#ECEFF4" + black: "#8d5c4c" + red: "#d03e68" + green: "#afa644" + yellow: "#dbbc48" + blue: "#a15c40" + magenta: "#8b7ab9" + cyan: "#df937a" + white: "#fefefe" scrolling: @@ -94,7 +94,7 @@ scrolling: font: normal: family: monospace - family: Iosevka + family: Iosevka Nerd Font # Point size size: 13.0 diff --git a/modules/themes/fair-and-square/config/bspwm/bspwmrc b/modules/themes/fair-and-square/config/bspwm/bspwmrc index 34da6bff..d6806b47 100755 --- a/modules/themes/fair-and-square/config/bspwm/bspwmrc +++ b/modules/themes/fair-and-square/config/bspwm/bspwmrc @@ -1,9 +1,9 @@ -#!/bin/sh +#!/usr/bin/env sh # Open all of the programs needed. -pkill polybar || polybar "fds-bar" & -pkill feh || feh --bg-fill $HOME/.background-image -pkill dunst || dunst & +pkill polybar; polybar "fds-bar" & +pkill feh; feh --bg-fill $HOME/.background-image +pkill dunst; dunst & # Removing all rules at startup to prevent duplicating rules. bspc rule -r "*" @@ -12,12 +12,12 @@ bspc rule -r "*" bspc monitor -d I II III IV V bspc config border_width 2 -bspc config window_gap 9 +bspc config window_gap 5 bspc config split_ratio 0.50 bspc config borderless_monocle true bspc config gapless_monocle true -bspc config focused_border_color "#88C0D0" +bspc config focused_border_color "#e9d3ce" bspc config focus_follows_pointer true # Set the default cursor to pointer diff --git a/modules/themes/fair-and-square/config/dunst/dunstrc b/modules/themes/fair-and-square/config/dunst/dunstrc index 86c88c71..73d77c71 100755 --- a/modules/themes/fair-and-square/config/dunst/dunstrc +++ b/modules/themes/fair-and-square/config/dunst/dunstrc @@ -29,7 +29,7 @@ # the top and down respectively. # The width can be negative. In this case the actual width is the # screen width minus the width defined in within the geometry option. - geometry = "350x50-10+50" + geometry = "350x50-10-10" # Show how many messages are currently hidden (because of geometry). indicate_hidden = yes @@ -61,10 +61,10 @@ # Defines width in pixels of frame around the notification window. # Set to 0 to disable. - frame_width = 2 + frame_width = 1 # Defines color of the frame around the notification window. - frame_color = "#D8DEE9" + frame_color = "#eb8a65" # Define a color for the separator. # possible values are: @@ -87,7 +87,7 @@ ### Text ### - font = Iosevka 12 + font = Iosevka Nerd Font 12 # The spacing between lines. If the height is smaller than the # font height, it will get raised to the font height. @@ -167,9 +167,6 @@ # Scale larger icons down to this size, set to 0 to disable max_icon_size = 32 - # Paths to default icons. - icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/ - ### History ### @@ -286,8 +283,8 @@ [urgency_low] # IMPORTANT: colors have to be defined in quotation marks. # Otherwise the "#" and following would be interpreted as a comment. - background = "#2E3440" - foreground = "#ECEFF4" + background = "#412c26" + foreground = "#eb8a65" timeout = 10 # Icon for notifications with low urgency, uncomment to enable #icon = /path/to/icon @@ -295,8 +292,8 @@ [urgency_normal] - background = "#2E3440" - foreground = "#D8DEE9" + background = "#2b221f" + foreground = "#eb8a65" timeout = 10 # Icon for notifications with normal urgency, uncomment to enable #icon = /path/to/icon @@ -304,9 +301,9 @@ [urgency_critical] - background = "#2E3440" - foreground = "#A3BE8C" - frame_color = "#A3BE8C" + background = "#2b221f" + foreground = "#d03e68" + frame_color = "#d03e68" timeout = 0 # Icon for notifications with critical urgency, uncomment to enable #icon = /path/to/icon diff --git a/modules/themes/fair-and-square/config/polybar/config b/modules/themes/fair-and-square/config/polybar/config index 82c44b76..41b5fbdc 100755 --- a/modules/themes/fair-and-square/config/polybar/config +++ b/modules/themes/fair-and-square/config/polybar/config @@ -2,11 +2,11 @@ ; However, formats in RGB is fine. ; This is where all of the colors should be placed for those who are lazy to scroll down (like me). [colors] - background = "#2E3440" - background-light = "#727B8A" - foreground = "#D8DEE9" - foreground-light = "#ECEFF4" - accent = "#88C0D0" + background = "#2b221f" + background-light = "#412c26" + foreground = "#fefefe" + foreground-light = "#eb8a65" + accent = "#d03e68" ; The common style between bars. @@ -24,8 +24,8 @@ module-margin = 1 module-padding = 1 - font-0 = "Iosevka;2" - font-1 = "Fira Code;2" + font-0 = "Iosevka Nerd Font;2" + font-1 = "Iosevka;2" ; Our fallback fonts are mostly used as icon fonts. ; For future references, the version of Font Awesome used here is at v5.13.0. @@ -76,9 +76,9 @@ [module/home-fs] type = internal/fs mount-0 = /home - format-mounted-prefix = "" + format-mounted-prefix = "" format-mounted-prefix-margin-right = 1 - format-unmounted-prefix = "" + format-unmounted-prefix = "" format-unmounted-prefix-margin-right = 1 label-mounted = %free% label-unmounted = N/A diff --git a/modules/themes/fair-and-square/config/rofi/config.rasi b/modules/themes/fair-and-square/config/rofi/config.rasi index 18646ddc..56812031 100755 --- a/modules/themes/fair-and-square/config/rofi/config.rasi +++ b/modules/themes/fair-and-square/config/rofi/config.rasi @@ -3,7 +3,7 @@ configuration { display-run: "Execute"; display-window: "Window"; display-ssh: "SSH"; - font: "Iosevka 12"; + font: "Iosevka Nerd Font 12"; show-icons: true; theme: "themes/fds-mini-sidebar"; } diff --git a/modules/themes/fair-and-square/config/rofi/themes/dmenu.rasi b/modules/themes/fair-and-square/config/rofi/themes/dmenu.rasi index 9c8f6ffb..9eb92e25 100755 --- a/modules/themes/fair-and-square/config/rofi/themes/dmenu.rasi +++ b/modules/themes/fair-and-square/config/rofi/themes/dmenu.rasi @@ -8,29 +8,29 @@ * { /* The color swatch */ /* Useful for quick editing of the colors */ - background: #2E3440; - foreground: #D8DEE9; - color0: #3B4252; - color1: #BF616A; - color2: #A3BE8C; - color3: #EBCB8B; - color4: #81A1C1; - color5: #B48EAD; - color6: #88C0D0; - color7: #E5E9F0; - color8: #727B8A; - color9: #BF616A; - color10: #A3BE8C; - color11: #EBCB8B; - color12: #81A1C1; - color13: #B48EAD; - color14: #8FBCBB; - color15: #ECEFF4; + background: #2b221f; + foreground: #eb8a65; + color0: #2b221f; + color1: #412c26; + color2: #54352c; + color3: #8d5c4c; + color4: #e1bcb2; + color5: #e9d3ce; + color6: #fefefe; + color7: #eb8a65; + color8: #d03e68; + color9: #eb914a; + color10: #dbbc48; + color11: #afa644; + color12: #df937a; + color13: #a15c40; + color14: #8b7ab9; + color15: #6f3920; background-color: @background; border-color: @foreground; text-color: @foreground; - font: "Iosevka 12"; + font: "Iosevka Nerd Font 12"; } window { diff --git a/modules/themes/fair-and-square/config/rofi/themes/fds-center-menu.rasi b/modules/themes/fair-and-square/config/rofi/themes/fds-center-menu.rasi index 03c5722d..ef98e62a 100755 --- a/modules/themes/fair-and-square/config/rofi/themes/fds-center-menu.rasi +++ b/modules/themes/fair-and-square/config/rofi/themes/fds-center-menu.rasi @@ -1,24 +1,24 @@ * { - /* The color configuration */ - /* Useful for quick editing in case for compiled templates */ - background: #2E3440; - foreground: #D8DEE9; - color0: #3B4252; - color1: #BF616A; - color2: #A3BE8C; - color3: #EBCB8B; - color4: #81A1C1; - color5: #B48EAD; - color6: #88C0D0; - color7: #E5E9F0; - color8: #727B8A; - color9: #BF616A; - color10: #A3BE8C; - color11: #EBCB8B; - color12: #81A1C1; - color13: #B48EAD; - color14: #8FBCBB; - color15: #ECEFF4; + /* The color swatch */ + /* Useful for quick editing of the colors */ + background: #2b221f; + foreground: #eb8a65; + color0: #2b221f; + color1: #412c26; + color2: #54352c; + color3: #8d5c4c; + color4: #e1bcb2; + color5: #e9d3ce; + color6: #fefefe; + color7: #eb8a65; + color8: #d03e68; + color9: #eb914a; + color10: #dbbc48; + color11: #afa644; + color12: #df937a; + color13: #a15c40; + color14: #8b7ab9; + color15: #6f3920; /* Theme settings */ highlight: bold italic; @@ -28,7 +28,7 @@ text-color: @foreground; background-color: @background; font: "Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid 14"; - font: "Iosevka 12"; + font: "Iosevka Nerd Font 12"; } window { diff --git a/modules/themes/fair-and-square/config/rofi/themes/fds-mini-sidebar.rasi b/modules/themes/fair-and-square/config/rofi/themes/fds-mini-sidebar.rasi index 18e62f21..efe39177 100755 --- a/modules/themes/fair-and-square/config/rofi/themes/fds-mini-sidebar.rasi +++ b/modules/themes/fair-and-square/config/rofi/themes/fds-mini-sidebar.rasi @@ -1,24 +1,24 @@ * { - /* The color configuration */ - /* Useful for quick editing in case for compiled templates */ - background: #2E3440; - foreground: #D8DEE9; - color0: #3B4252; - color1: #BF616A; - color2: #A3BE8C; - color3: #EBCB8B; - color4: #81A1C1; - color5: #B48EAD; - color6: #88C0D0; - color7: #E5E9F0; - color8: #727B8A; - color9: #BF616A; - color10: #A3BE8C; - color11: #EBCB8B; - color12: #81A1C1; - color13: #B48EAD; - color14: #8FBCBB; - color15: #ECEFF4; + /* The color swatch */ + /* Useful for quick editing of the colors */ + background: #2b221f; + foreground: #eb8a65; + color0: #2b221f; + color1: #412c26; + color2: #54352c; + color3: #8d5c4c; + color4: #e1bcb2; + color5: #e9d3ce; + color6: #fefefe; + color7: #eb8a65; + color8: #d03e68; + color9: #eb914a; + color10: #dbbc48; + color11: #afa644; + color12: #df937a; + color13: #a15c40; + color14: #8b7ab9; + color15: #6f3920; /* General theme settings */ highlight: bold italic; @@ -28,7 +28,7 @@ text-color: @foreground; background-color: @background; font: "Font Awesome 5 Free,Font Awesome 5 Free Solid:style=Solid 14"; - font: "Iosevka 12"; + font: "Iosevka Nerd Font 12"; } diff --git a/modules/themes/fair-and-square/default.nix b/modules/themes/fair-and-square/default.nix index 7246f372..99c3ebdb 100755 --- a/modules/themes/fair-and-square/default.nix +++ b/modules/themes/fair-and-square/default.nix @@ -111,6 +111,6 @@ with lib; { arc-theme ]; - fonts.fonts = with pkgs; [ iosevka font-awesome-ttf ]; + fonts.fonts = with pkgs; [ iosevka nerdfonts font-awesome-ttf ]; }; } diff --git a/packages/default.nix b/packages/default.nix index ef2234e1..7e8c90ec 100755 --- a/packages/default.nix +++ b/packages/default.nix @@ -2,7 +2,7 @@ (self: super: with super; { veikk-linux-driver = - (callPackage ./veikk-driver.nix { kernel = pkgs.linux_5_8; }); + (callPackage ./veikk-driver.nix { kernel = pkgs.linux_5_10; }); nur.foo-dogsquared = import (fetchTarball "https://github.com/foo-dogsquared/nur-packages/archive/master.tar.gz") { inherit pkgs;