217 lines
5.6 KiB
Nix
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
|
|
'')
|
|
];
|
|
};
|
|
}
|