mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-04-24 12:19:12 +00:00
More tweaks, more fun!
This commit is contained in:
parent
4114c91901
commit
aa2d8ac987
@ -90,6 +90,7 @@
|
|||||||
fonts.enable = true;
|
fonts.enable = true;
|
||||||
files.enable = true;
|
files.enable = true;
|
||||||
graphics = {
|
graphics = {
|
||||||
|
enable = true;
|
||||||
raster.enable = true;
|
raster.enable = true;
|
||||||
vector.enable = true;
|
vector.enable = true;
|
||||||
_3d.enable = true;
|
_3d.enable = true;
|
||||||
@ -123,6 +124,10 @@
|
|||||||
};
|
};
|
||||||
math.enable = true;
|
math.enable = true;
|
||||||
perl.enable = true;
|
perl.enable = true;
|
||||||
|
perl = {
|
||||||
|
enable = true;
|
||||||
|
raku.enable = true;
|
||||||
|
};
|
||||||
python = {
|
python = {
|
||||||
enable = true;
|
enable = true;
|
||||||
math.enable = true;
|
math.enable = true;
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.desktop.audio;
|
let
|
||||||
|
cfg = config.modules.desktop.audio;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.audio = let
|
options.modules.desktop.audio = let
|
||||||
mkBoolDefault = bool:
|
mkBoolDefault = bool:
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.desktop.browsers;
|
let
|
||||||
|
cfg = config.modules.desktop.browsers;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.browsers = let
|
options.modules.desktop.browsers = let
|
||||||
mkBoolDefault = bool:
|
mkBoolDefault = bool:
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# Even if my designs are computer-aided, it's still horrible. :(
|
# Even if my designs are computer-aided, it's still horrible. :(
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.desktop.cad;
|
||||||
|
in {
|
||||||
options.modules.desktop.cad = {
|
options.modules.desktop.cad = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.desktop.cad.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
freecad # FREE AS A BIRD, FREE AS A ALL-YOU-CAN-EAT BUFFER!
|
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.
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.desktop.files;
|
let
|
||||||
|
cfg = config.modules.desktop.files;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.files = {
|
options.modules.desktop.files = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# My selection of fonts for this setup.
|
# My selection of fonts for this setup.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.desktop.fonts;
|
||||||
|
in {
|
||||||
options.modules.desktop.fonts = {
|
options.modules.desktop.fonts = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.desktop.fonts.enable {
|
config = mkIf cfg.enable {
|
||||||
# Enable fontconfig to easily discover fonts installed from home-manager.
|
# Enable fontconfig to easily discover fonts installed from home-manager.
|
||||||
fonts = {
|
fonts = {
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.desktop.graphics;
|
let
|
||||||
|
cfg = config.modules.desktop.graphics;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.graphics = let
|
options.modules.desktop.graphics = let
|
||||||
mkBoolDefault = bool:
|
mkBoolDefault = bool:
|
||||||
@ -13,13 +14,14 @@ in {
|
|||||||
default = bool;
|
default = bool;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
enable = mkBoolDefault false;
|
||||||
programmable.enable = mkBoolDefault false;
|
programmable.enable = mkBoolDefault false;
|
||||||
raster.enable = mkBoolDefault false;
|
raster.enable = mkBoolDefault false;
|
||||||
vector.enable = mkBoolDefault false;
|
vector.enable = mkBoolDefault false;
|
||||||
_3d.enable = mkBoolDefault false;
|
_3d.enable = mkBoolDefault false;
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs;
|
my.packages = with pkgs;
|
||||||
[
|
[
|
||||||
font-manager # Self-explanatory name is self-explanatory.
|
font-manager # Self-explanatory name is self-explanatory.
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# Muh consumer applications...
|
# Muh consumer applications...
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.desktop.multimedia;
|
||||||
|
in {
|
||||||
options.modules.desktop.multimedia = {
|
options.modules.desktop.multimedia = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.desktop.multimedia.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
ffmpeg # The ultimate multimedia toolkit for everybody!
|
ffmpeg # The ultimate multimedia toolkit for everybody!
|
||||||
hexchat # The ultimate IRC client for neckbeards.
|
hexchat # The ultimate IRC client for neckbeards.
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# I'm not in academia but I like managing my library resources.
|
# I'm not in academia but I like managing my library resources.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.desktop.research;
|
||||||
|
in {
|
||||||
options.modules.desktop.research = {
|
options.modules.desktop.research = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.desktop.research.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
exiftool # A file metadata reader/writer/helicopter.
|
exiftool # A file metadata reader/writer/helicopter.
|
||||||
zotero # An academic's best friend.
|
zotero # An academic's best friend.
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# Android is the mobile version of Linux.
|
# Android is the mobile version of Linux.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.dev.android;
|
||||||
|
in {
|
||||||
options.modules.dev.android = {
|
options.modules.dev.android = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.dev.android.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
android-studio # The apartment for Android development.
|
android-studio # The apartment for Android development.
|
||||||
dart # It's JavaScript except saner and slimmer.
|
dart # It's JavaScript except saner and slimmer.
|
||||||
@ -21,6 +25,9 @@ with lib; {
|
|||||||
# Enable Android Debug Bridge for some device debugging.
|
# Enable Android Debug Bridge for some device debugging.
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
|
|
||||||
|
# Install Anbox emulation.
|
||||||
|
virtualisation.anbox.enable = true;
|
||||||
|
|
||||||
my.user.extraGroups = [ "adbusers" ];
|
my.user.extraGroups = [ "adbusers" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# The utmost requirements for a development workflow.
|
# The utmost requirements for a development workflow.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.dev.base;
|
||||||
|
in {
|
||||||
options.modules.dev.base = {
|
options.modules.dev.base = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.dev.base.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
caddy # THE ULTIMATE HTTPS/2 SERVER FOR 'YER GOLFIN' SESSIONS!!!
|
caddy # THE ULTIMATE HTTPS/2 SERVER FOR 'YER GOLFIN' SESSIONS!!!
|
||||||
cmake # Yo, I heard you like Makefiles.
|
cmake # Yo, I heard you like Makefiles.
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# My stuff for C and C++.
|
# My stuff for C and C++.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.dev.cc;
|
||||||
|
in {
|
||||||
options.modules.dev.cc = {
|
options.modules.dev.cc = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.dev.cc.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
cmake # Yo dawg, I heard you like Make.
|
cmake # Yo dawg, I heard you like Make.
|
||||||
# clang # A C compiler frontend for LLVM.
|
# clang # A C compiler frontend for LLVM.
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.modules.dev.data;
|
cfg = config.modules.dev.data;
|
||||||
in {
|
in {
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.documentation;
|
let
|
||||||
|
cfg = config.modules.dev.documentation;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.documentation = let
|
options.modules.dev.documentation = let
|
||||||
mkBoolOption = bool:
|
mkBoolOption = bool:
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.game-dev;
|
let
|
||||||
|
cfg = config.modules.dev.game-dev;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.game-dev = let
|
options.modules.dev.game-dev = let
|
||||||
mkBoolOption = bool:
|
mkBoolOption = bool:
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.go;
|
let
|
||||||
|
cfg = config.modules.dev.go;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.go = {
|
options.modules.dev.go = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.java;
|
let
|
||||||
|
cfg = config.modules.dev.java;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.java = {
|
options.modules.dev.java = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.lisp;
|
let
|
||||||
|
cfg = config.modules.dev.lisp;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.lisp = let
|
options.modules.dev.lisp = let
|
||||||
mkBoolDefault = bool:
|
mkBoolDefault = bool:
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.math;
|
let
|
||||||
|
cfg = config.modules.dev.math;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.math = let
|
options.modules.dev.math = let
|
||||||
mkEnableOption = mkOption {
|
mkEnableOption = mkOption {
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
|
cfg = config.modules.dev.perl;
|
||||||
perlWithPackages = pkgs.perl.withPackages (p:
|
perlWithPackages = pkgs.perl.withPackages (p:
|
||||||
with pkgs.perlPackages; [
|
with pkgs.perlPackages; [
|
||||||
ModuleBuild
|
ModuleBuild
|
||||||
@ -16,8 +17,16 @@ in {
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
raku.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
config = mkIf cfg.enable {
|
||||||
mkIf config.modules.dev.perl.enable { my.packages = [ perlWithPackages ]; };
|
my.packages = [ perlWithPackages ]
|
||||||
|
++ (if cfg.raku.enable then [
|
||||||
|
rakudo
|
||||||
|
] else []); };
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.python;
|
let
|
||||||
|
cfg = config.modules.dev.python;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.python = let
|
options.modules.dev.python = let
|
||||||
mkBoolOption = bool:
|
mkBoolOption = bool:
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.rust;
|
let
|
||||||
|
cfg = config.modules.dev.rust;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.rust = {
|
options.modules.dev.rust = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let cfg = config.modules.dev.vcs;
|
let
|
||||||
|
cfg = config.modules.dev.vcs;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.vcs = {
|
options.modules.dev.vcs = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let cfg = config.modules.dev.web;
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.dev.web;
|
||||||
in {
|
in {
|
||||||
options.modules.dev.web = let
|
options.modules.dev.web = let
|
||||||
mkBoolOption = bool:
|
mkBoolOption = bool:
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# Here are the base packages for my shell workflow.
|
# Here are the base packages for my shell workflow.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.shell.base;
|
||||||
|
in {
|
||||||
options.modules.shell.base = {
|
options.modules.shell.base = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.shell.base.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [
|
my.packages = with pkgs; [
|
||||||
aria2 # The sequel to aria(1).
|
aria2 # The sequel to aria(1).
|
||||||
aspell # Hunt down a spelling bee champion to come to your shell.
|
aspell # Hunt down a spelling bee champion to come to your shell.
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# A file manager for hipsters.
|
# A file manager for hipsters.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.shell.lf;
|
||||||
|
in {
|
||||||
options.modules.shell.lf = {
|
options.modules.shell.lf = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -9,7 +13,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.shell.lf.enable {
|
config = mkIf cfg.enable {
|
||||||
my.packages = with pkgs; [ lf ];
|
my.packages = with pkgs; [ lf ];
|
||||||
|
|
||||||
my.home.xdg.configFile."lf" = {
|
my.home.xdg.configFile."lf" = {
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
# The Zoomer shell is cool for them prompts.
|
# The Zoomer shell is cool for them prompts.
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib; {
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.modules.shell.zsh;
|
||||||
|
in {
|
||||||
options.modules.shell.zsh = {
|
options.modules.shell.zsh = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -10,7 +14,7 @@ with lib; {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Going to use the home-manager module for zsh since it is cool.
|
# Going to use the home-manager module for zsh since it is cool.
|
||||||
config = mkIf config.modules.shell.zsh.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user