217 lines
5.6 KiB
Nix

{
# 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
'')
];
};
}