Outsource aspi and kardorf hm-configs to modules

This commit is contained in:
Julian Mutter 2024-10-09 16:10:19 +02:00
parent 6894cd7539
commit 23f51db3a5
8 changed files with 266 additions and 474 deletions

View File

@ -43,79 +43,7 @@
nix-helper.enable = true;
desktop.enable = true;
};
home.packages =
with pkgs;
[
# Code formatters for use with doom emacs
nixfmt-rfc-style # nix
dockfmt # docker
google-java-format # java
# Lsps for use with doom emacs
# neocmakelsp # cmake
# Rust setup
rustc
rustfmt
cargo
clippy
rust-analyzer
# Further tools
cntr # nix debugger
lazygit
languagetool
# wireguard-tools
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
(pkgs.writeShellScriptBin "matlab-paper" ''
matlab -desktop -sd "/home/julian/dev/phdthesis/Phase B/mainSimulation" -softwareopengl
'')
(pkgs.writeShellScriptBin "matlab-robotik" ''
matlab -desktop -sd "/home/julian/nas-sync/Studium/Vorlesungen-Master/ss24/Robotik2" -softwareopengl
'')
(pkgs.writeShellScriptBin "matlab-gram" ''
export GTK_PATH=/usr/lib/gtk-3.0
nix shell nixpkgs#gcc11 --command matlab -desktop -sd "/home/julian/dev/matlab-gram" -softwareopengl
'')
(pkgs.writeShellScriptBin "expenses-tracker" ''
java -jar /home/julian/dev/expensestracker/app/build/libs/app.jar
'')
zotero
xfce.mousepad
tor-browser
## My scripts
frajul.deploy-to-pianopi
frajul.open-messaging
frajul.edit-config
frajul.xwacomcalibrate
frajul.lntocp
]
++ lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; }) [
./fonts.nix
./packages.nix
];
services.blueman-applet.enable = true;
services.nextcloud-client.enable = true;
services.nextcloud-client.startInBackground = true;
services.network-manager-applet.enable = true;
services.syncthing.tray.enable = true;
services.syncthing.tray.command = "syncthingtray --wait"; # Wait for tray to become available
programs.chromium = {
enable = true;
extensions = [
# Tampermonkey
{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; }
];
suites.default.enable = true;
};
# Let Home Manager install and manage itself.

View File

@ -1,15 +0,0 @@
{ pkgs, ... }:
with pkgs;
[
(nerdfonts.override { fonts = [ "FiraCode" ]; })
font-awesome
dejavu_fonts
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
source-code-pro
]

View File

@ -1,160 +0,0 @@
{ pkgs, ... }:
with pkgs;
[
shellcheck
# Further tools
lazygit
# makemkv
audacity
gnome.cheese
zoom-us
qutebrowser
unetbootin
# For SSS exercises
pwndbg
gcc
hexedit
xournalpp
zip
p7zip # unzip 7zip archives
imagemagick
ghostscript # needed for imagemagick with pdfs
firefox
thunderbird
# nextcloud-client # use service instead
qalculate-gtk
libqalculate
# schildichat-desktop # not updated regularly
# element-desktop
nheko
tdesktop # telegram
tealdeer
gcolor3
# cups
wget
nodejs
git
dotter
mc
# broot
rnr # renaming tool in rust
# doublecmd
# mucommander
tree
wezterm
kitty
bat
ripgrep
fd
fzf
topgrade
arandr
htop
# texlive.combined.scheme-full
# texlab
usbutils # lsusb
pciutils # lspci
gnome.gnome-keyring
gnome.seahorse
polkit_gnome
nix-index
python3
libnotify
libclang
libreoffice
killall
findutils
xorg.xkill
unzip
vlc
handbrake
nmap
jq
jdk
# emacsPackages.clang-format # formatting for java
gradle
maven
android-tools
scrcpy
# dvdisaster
mate.engrampa
unixtools.procps
ffmpeg
links2
julia-bin
# xdg-desktop-portal-gtk
discord
lnav # log analyzing tool
fdupes # find and delete duplicate files
digikam
dbeaver-bin
sqlite
nomacs
rocketchat-desktop
(texlive.combine {
# for rendering latex in inkscape
inherit (texlive)
scheme-medium
standalone
amsmath
preview
;
})
# (pkgs.inkscape-with-extensions.override {
# inkscapeExtensions = [ pkgs.inkscape-extensions.textext ];
# })
# inkscape-with-extensions
# inkscape-extensions.textext
inkscape
geogebra
languagetool
xclip
okular # Pdf reader with many features, good for commenting documents
evince # Simple pdf reader, good for focusing on document content
pdfsam-basic # Split, merge, etc for pdfs
poppler_utils # Pdf utils including pdfimages
matlab # Using nix-matlab overlay defined in flake
sage
gimp
devbox
parted
drawio
du-dust # Like du tree but better
gnupg
rpi-imager
# lf
# rustdesk
# realvnc-vnc-viewer
calibre
audible-cli
unstable.path-of-building
conda
watchexec # Run command when any file in current dir changes
pkg-config # Often needed to build something
]

View File

@ -39,30 +39,7 @@
nix-helper.enable = true;
desktop.enable = true;
};
home.packages =
lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; })
[
./fonts.nix
./packages.nix
];
fonts.fontconfig.enable = true; # required to autoload fonts from packages
gtk = {
enable = true;
# theme.name = "Adwaita-dark";
};
services.syncthing.tray.enable = true;
services.syncthing.tray.command = "syncthingtray --wait"; # Wait for tray to become available
programs.chromium = {
enable = true;
extensions = [
# Tampermonkey
{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; }
];
suites.default.enable = true;
};
# Let Home Manager install and manage itself.

View File

@ -1,14 +0,0 @@
{ pkgs, ... }:
with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; })
font-awesome
dejavu_fonts
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
source-code-pro
]

View File

@ -1,188 +0,0 @@
{ pkgs, ... }:
with pkgs;
[
shellcheck
# Rust setup
rustc
rustfmt
cargo
clippy
rust-analyzer
# Further tools
lazygit
languagetool
# makemkv
audacity
gnome.cheese
zoom-us
qutebrowser
unetbootin
# For SSS exercises
pwndbg
gcc
hexedit
# rfid reader tests
openct
opensc
pcsclite
pcsctools
ccid
libnfc
xournalpp
xfce.thunar-archive-plugin
zip
p7zip # unzip 7zip archives
imagemagick
firefox
thunderbird
nextcloud-client
qalculate-gtk
libqalculate
# schildichat-desktop # not updated regularly
element-desktop
tdesktop # telegram
tealdeer
gcolor3
# cups
wget
gparted
nodejs
git
dotter
mc
broot
rnr # renaming tool in rust
doublecmd
mucommander
tree
wezterm
kitty
bat
ripgrep
fd
fzf
topgrade
arandr
wireguard-tools
htop
texlive.combined.scheme-full
texlab
usbutils # lsusb
pciutils # lspci
gnome.gnome-keyring
gnome.seahorse
polkit_gnome
nix-index
python3
libnotify
libclang
libreoffice
killall
findutils
xorg.xkill
unzip
vlc
handbrake
nmap
jq
jdk
# emacsPackages.clang-format # formatting for java
gradle
maven
android-tools
scrcpy
# dvdisaster
mate.engrampa
# toybox
unixtools.procps
qpdfview
ffmpeg
links2
julia-bin
xdg-desktop-portal-gtk
discord
lnav # log analyzing tool
fdupes # find and delete duplicate files
digikam
dbeaver-bin
pavucontrol
sqlite
nomacs
rocketchat-desktop
zotero
inkscape
pulseaudio
gcolor3
geogebra
languagetool
xclip
okular # Pdf reader with many features, good for commenting documents
evince # Simple pdf reader, good for focusing on document content
pdfsam-basic # Split, merge, etc for pdfs
poppler_utils # Pdf utils including pdfimages
matlab # Using nix-matlab overlay defined in flake
# sage
gimp
devbox
parted
drawio
du-dust # Like du tree but better
gnupg
rpi-imager
wine
winetricks
# lf
# rustdesk
# realvnc-vnc-viewer
calibre
audible-cli
# cudaPackages.cudatoolkit
# openmvg
# colmapWithCuda
path-of-building
nheko
pkg-config # Often needed to build something
## My scripts
frajul.edit-config
frajul.xwacomcalibrate
(pkgs.writeShellScriptBin "matlab-paper" ''
matlab -desktop -sd "/home/julian/dev/phdthesis/Phase B/mainSimulation" -softwareopengl
'')
(pkgs.writeShellScriptBin "matlab-robotik" ''
matlab -desktop -sd "/home/julian/nas-sync/Studium/Vorlesungen-Master/ss24/Robotik2" -softwareopengl
'')
(pkgs.writeShellScriptBin "matlab-gram" ''
export GTK_PATH=/usr/lib/gtk-3.0
nix shell nixpkgs#gcc11 --command matlab -desktop -sd "/home/julian/dev/matlab-gram" -softwareopengl
'')
(pkgs.writeShellScriptBin "expenses-tracker" ''
java -jar /home/julian/dev/expensestracker/app/build/libs/app.jar
'')
]

View File

@ -0,0 +1,48 @@
{
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# You also have access to your flake's inputs.
inputs,
# Additional metadata is provided by Snowfall Lib.
system, # The system architecture for this host (eg. `x86_64-linux`).
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
format, # A normalized name for the system target (eg. `iso`).
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
systems, # An attribute map of your defined hosts.
# All other arguments come from the module system.
config,
host,
...
}:
with lib;
let
cfg = config.modules.fonts;
in
{
options.modules.fonts = {
enable = mkOption { default = false; };
};
config = mkIf cfg.enable {
fonts.fontconfig.enable = true; # required to autoload fonts from packages
home.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; })
font-awesome
dejavu_fonts
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
source-code-pro
];
};
}

View File

@ -0,0 +1,216 @@
{
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# You also have access to your flake's inputs.
inputs,
# Additional metadata is provided by Snowfall Lib.
system, # The system architecture for this host (eg. `x86_64-linux`).
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
format, # A normalized name for the system target (eg. `iso`).
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
systems, # An attribute map of your defined hosts.
# All other arguments come from the module system.
config,
host,
...
}:
with lib;
let
cfg = config.modules.suites.default;
in
{
options.modules.suites.default = {
enable = mkOption { default = false; };
};
config = mkIf cfg.enable {
# TODO: put this and relevant packages into desktop suite
services.blueman-applet.enable = true;
services.nextcloud-client.enable = true;
services.nextcloud-client.startInBackground = true;
services.network-manager-applet.enable = true;
services.syncthing.tray.enable = true;
services.syncthing.tray.command = "syncthingtray --wait"; # Wait for tray to become available
programs.chromium = {
enable = true;
extensions = [
# Tampermonkey
{ id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; }
];
};
home.packages = with pkgs; [
android-tools # adb
arandr
audacity
audible-cli
bat
calibre # ebook manager and viewer
cargo
clippy
cntr # nix debugger
conda
dbeaver-bin
devbox # run docker-commands
digikam
discord
drawio
du-dust # Like du tree but better
# dvdisaster
# element-desktop
# rocketchat-desktop
thunderbird
tdesktop # telegram
# schildichat-desktop # not updated regularly
nheko
evince # Simple pdf reader, good for focusing on document content
fd # better find
fdupes # find and delete duplicate files
ffmpeg
findutils # locate
firefox
fzf # Fuzzy finder
gcc
gcolor3 # Color picker
geogebra
ghostscript # needed for imagemagick with pdfs
imagemagick
gimp
git
gnome.cheese
gnupg
gradle
handbrake
hexedit
htop
(texlive.combine {
# for rendering latex in inkscape
inherit (texlive)
scheme-medium
standalone
amsmath
preview
;
})
# (pkgs.inkscape-with-extensions.override {
# inkscapeExtensions = [ pkgs.inkscape-extensions.textext ];
# })
# inkscape-with-extensions
# inkscape-extensions.textext
inkscape
jdk
jq # Command line JSON processor
julia-bin
killall
kitty # Terminal
languagetool # Grammar checker
lazygit # Git client
libclang
libnotify
libreoffice
links2 # Tui web-browser
lnav # log analyzing tool
mate.engrampa
matlab # Using nix-matlab overlay defined in flake
maven
mc # Tui file browser
# nix-index
nmap
nodejs
nomacs # Image viewer
okular # Pdf reader with many features, good for commenting documents
p7zip # unzip 7zip archives
parted
pavucontrol
pciutils # lspci
pdfsam-basic # Split, merge, etc for pdfs
pkg-config # Often needed to build something
poppler_utils # Pdf utils including pdfimages
pwndbg # improved gdb (debugger)
python3
libqalculate # Nice tui calculator (qalc)
qalculate-gtk # Nice gui calculator
qpdfview
# qutebrowser
# realvnc-vnc-viewer
ripgrep # better grep
rnr # renaming tool
rpi-imager # make isos
# rustdesk
rust-analyzer
rustc
rustfmt
sage # Maths notebooks
scrcpy # Mirror android screen to pc
# shellcheck # Check bash scripts for common errors
sqlite
tealdeer # tldr
topgrade # System update
tor-browser
tree
unetbootin # TODO
unixtools.procps # TODO
unstable.path-of-building # Path of Building
unzip
usbutils # lsusb
vlc
watchexec # Run command when any file in current dir changes
wezterm # Terminal
wget
wine
winetricks
wireguard-tools # wg-quick
xclip # x11 clipboard access from terminal
xfce.mousepad # simple text editor
xorg.xkill
xournalpp # Edit pdf files
zip
zoom-us # Video conferencing
zotero # Manage papers and other sources
## My scripts
frajul.deploy-to-pianopi
frajul.edit-config
frajul.lntocp
frajul.open-messaging
frajul.xwacomcalibrate
(pkgs.writeShellScriptBin "matlab-paper" ''
matlab -desktop -sd "/home/julian/dev/phdthesis/Phase B/mainSimulation" -softwareopengl
'')
(pkgs.writeShellScriptBin "matlab-robotik" ''
matlab -desktop -sd "/home/julian/nas-sync/Studium/Vorlesungen-Master/ss24/Robotik2" -softwareopengl
'')
(pkgs.writeShellScriptBin "matlab-gram" ''
export GTK_PATH=/usr/lib/gtk-3.0
nix shell nixpkgs#gcc11 --command matlab -desktop -sd "/home/julian/dev/matlab-gram" -softwareopengl
'')
(pkgs.writeShellScriptBin "expenses-tracker" ''
java -jar /home/julian/dev/expensestracker/app/build/libs/app.jar
'')
];
};
}