mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-04-24 12:19:12 +00:00
Update the modules
This commit is contained in:
parent
90cfb23a5e
commit
44f692976e
@ -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 = {
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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.
|
||||
];
|
||||
|
@ -11,5 +11,6 @@
|
||||
./graphics.nix
|
||||
./multimedia.nix
|
||||
./research.nix
|
||||
./wine.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.
|
||||
];
|
||||
|
||||
my.home = {
|
||||
services = {
|
||||
# Enable Syncthing for them cross-device syncing.
|
||||
syncthing.enable = true;
|
||||
syncthing = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
# Argh! Open t' gateweh t' th' high seas!
|
||||
transmission.enable = true;
|
||||
};
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
[ ]) ++
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
21
modules/desktop/wine.nix
Normal file
21
modules/desktop/wine.nix
Normal file
@ -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
|
||||
];
|
||||
};
|
||||
}
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
fish.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
my.zsh = {
|
||||
rc = ''
|
||||
eval "$(${pkgs.direnv}/bin/direnv hook zsh)"
|
||||
'';
|
||||
# Enabling all of the shells for cross-testing purposes.
|
||||
fish.enable = true;
|
||||
bash.enable = true;
|
||||
zsh.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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,7 +18,8 @@ in {
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
my.packages = with pkgs; [
|
||||
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.
|
||||
@ -27,7 +27,7 @@ in {
|
||||
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.
|
||||
yq-go # A YAML parser on the command-line.
|
||||
] ++
|
||||
|
||||
(if cfg.dhall.enable then [
|
||||
@ -37,6 +37,12 @@ in {
|
||||
dhall-json
|
||||
dhall-text
|
||||
dhall-lsp-server
|
||||
] else []);
|
||||
] else
|
||||
[ ]);
|
||||
|
||||
my.alias = {
|
||||
yaml2json = "${pkgs.yq-go}/bin/yq r --prettyPrint --tojson";
|
||||
json2yaml = "${pkgs.yq-go}/bin/yq r --prettyPrint";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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:
|
||||
|
@ -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 [ ]);
|
||||
};
|
||||
}
|
||||
|
@ -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:
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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 ]; };
|
||||
}
|
||||
|
21
modules/shell/archiving.nix
Normal file
21
modules/shell/archiving.nix
Normal file
@ -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.
|
||||
];
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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";
|
||||
|
||||
}
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user