323 lines
7.2 KiB
Nix
323 lines
7.2 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
# these come in via home-manager.extraSpecialArgs and are specific to each node
|
|
nodeFlake,
|
|
packages',
|
|
...
|
|
}: let
|
|
# pkgsMaster = nodeFlake.inputs.nixpkgs-master.legacyPackages.${pkgs.system};
|
|
pkgsUnstableSmall = import nodeFlake.inputs.nixpkgs-unstable-small {inherit (pkgs) system config;};
|
|
in {
|
|
imports = [
|
|
../profiles/common.nix
|
|
# ../profiles/dotfiles.nix
|
|
# FIXME: fix homeshick when no WAN connection is available
|
|
# ../programs/homeshick.nix
|
|
|
|
# ../profiles/gnome-desktop.nix
|
|
# ../profiles/experimental-desktop.nix
|
|
|
|
../programs/redshift.nix
|
|
|
|
../programs/gpg-agent.nix
|
|
../programs/pass.nix
|
|
|
|
../programs/espanso.nix
|
|
|
|
../programs/firefox.nix
|
|
../programs/chromium.nix
|
|
|
|
../programs/libreoffice.nix
|
|
../programs/neovim.nix
|
|
../programs/vscode
|
|
];
|
|
|
|
home.sessionVariables.HM_CONFIG = "graphical-fullblown";
|
|
home.sessionVariables.GOPATH = "$HOME/src/go";
|
|
home.sessionVariables.PATH = pkgs.lib.concatStringsSep ":" ["$HOME/.local/bin" "$PATH"];
|
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"electron-24.8.6"
|
|
"electron-25.9.0"
|
|
];
|
|
|
|
home.packages =
|
|
[]
|
|
++ (with pkgs; [
|
|
# Authentication
|
|
# cacert
|
|
# fprintd
|
|
# openssl
|
|
# mkpasswd
|
|
|
|
# Nix package related tools
|
|
patchelf
|
|
# nix-index
|
|
nix-prefetch-scripts
|
|
nix-tree
|
|
|
|
# Version Control Systems
|
|
gitFull
|
|
# gitless
|
|
gitRepo
|
|
git-lfs
|
|
|
|
# Process/System Administration
|
|
htop
|
|
# gnome.gnome-tweaks
|
|
xorg.xhost
|
|
dmidecode
|
|
evtest
|
|
|
|
# Archive Managers
|
|
sshfs-fuse
|
|
p7zip
|
|
zip
|
|
unzip
|
|
gzip
|
|
lzop
|
|
|
|
# Password Management
|
|
gnupg
|
|
# yubikey-manager
|
|
yubikey-manager-qt
|
|
yubikey-personalization
|
|
yubikey-personalization-gui
|
|
|
|
# gnome.gnome-keyring
|
|
gcr
|
|
gnome.seahorse
|
|
|
|
# Language Support
|
|
hunspellDicts.en-us
|
|
hunspellDicts.de-de
|
|
|
|
# Messaging/Communication
|
|
# pidgin
|
|
# hexchat
|
|
# schildichat-desktop # insecure as of 2023-12-16
|
|
aspellDicts.en
|
|
aspellDicts.de
|
|
# skypeforlinux
|
|
# pkgsUnstable.jitsi-meet-electron
|
|
thunderbird
|
|
evolution # gnome4.glib_networking
|
|
|
|
# FIXME: depends on insecure openssl 1.1.1t
|
|
# kotatogram-desktop
|
|
tdesktop
|
|
|
|
(
|
|
let
|
|
version = "6.44.0";
|
|
in
|
|
pkgsUnstableSmall.signal-desktop.overrideAttrs (old:
|
|
lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 {
|
|
inherit version;
|
|
src =
|
|
builtins.fetchurl
|
|
{
|
|
url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/master/builds/release/signal-desktop_${version}_arm64.deb";
|
|
sha256 =
|
|
# lib.fakeSha256
|
|
"sha256:0svb5vz08n3j4lx4kdjmx5lw9619kvvxg981rs6chh83qz5y519k";
|
|
};
|
|
})
|
|
)
|
|
|
|
thunderbird
|
|
|
|
# gnome.cheese
|
|
|
|
# Virtualization
|
|
# virtmanager
|
|
|
|
# Remote Control Tools
|
|
remmina
|
|
# freerdp
|
|
|
|
# Audio/Video Players
|
|
ffmpeg
|
|
vlc
|
|
# v4l-utils
|
|
# audacity
|
|
# spotify
|
|
yt-dlp
|
|
(writeShellScriptBin "youtube-dl-audio" "${yt-dlp}/bin/yt-dlp --extract-audio --audio-format best --audio-quality 9 \${@:?}")
|
|
libwebcam
|
|
|
|
# Network Tools
|
|
tcpdump
|
|
iftop
|
|
iperf
|
|
bind
|
|
socat
|
|
nethogs
|
|
|
|
# Code Editing and Programming
|
|
# pkgsUnstableSmall.lapce
|
|
# pkgsUnstableSmall.helix
|
|
|
|
# Image/Graphic/Design Tools
|
|
gnome.eog
|
|
# gimp
|
|
# imagemagick
|
|
# exiv2
|
|
# graphviz
|
|
# inkscape
|
|
# qrencode
|
|
|
|
# TODO: remove or move these: Modelling Tools
|
|
# plantuml
|
|
# umlet
|
|
# staruml
|
|
# eclipses.eclipse-modeling
|
|
# dia
|
|
# astah-community
|
|
|
|
# Misc Development Tools
|
|
# qrcode
|
|
# jq
|
|
# cdrtools
|
|
|
|
# Document Processing and Management
|
|
gnome.nautilus
|
|
pcmanfm
|
|
# mendeley
|
|
evince
|
|
|
|
# File Synchronzation
|
|
maestral
|
|
rsync
|
|
|
|
# Filesystem Tools
|
|
# ntfs3g
|
|
# ddrescue
|
|
# ncdu
|
|
# hdparm
|
|
# binwalk
|
|
# gptfdisk
|
|
# gparted
|
|
# smartmontools
|
|
|
|
## Python
|
|
# packages'.myPython
|
|
|
|
# Misc Desktop Tools
|
|
# ltunify
|
|
# dex
|
|
coreutils
|
|
lsof
|
|
xdg_utils
|
|
xdg-user-dirs
|
|
dconf
|
|
picocom
|
|
glib.dev # contains gdbus tool
|
|
alacritty
|
|
# wally-cli
|
|
man-pages
|
|
|
|
# Screen recording
|
|
# gtk-recordmydesktop # can't select the window
|
|
# qt-recordmydesktop
|
|
# vokoscreen
|
|
# shutter
|
|
# kazam # doesn't start
|
|
# xvidcap # doesn't keep the recording rectangle
|
|
# obs-studio
|
|
# shotcut
|
|
# openshot-qt
|
|
# introduces python: screenkey
|
|
|
|
# avidemux # broken
|
|
# handbrake
|
|
|
|
# snes9x
|
|
# snes9x-gtk
|
|
# this is a displaymanager!
|
|
# libretro.snes9x2010
|
|
# retroarchFull
|
|
|
|
packages'.logseq
|
|
# (pkgs.runCommand "logseq-wrapper"
|
|
# {
|
|
# nativeBuildInputs = [ pkgs.makeWrapper ];
|
|
# } ''
|
|
# makeWrapper ${pkgs.logseq}/bin/logseq $out/bin/logseq \
|
|
# --set NIXOS_OZONE_WL ""
|
|
# '')
|
|
])
|
|
++ (lib.lists.optionals (!pkgs.stdenv.targetPlatform.isAarch64) [
|
|
])
|
|
++ (lib.lists.optionals (!pkgs.stdenv.targetPlatform.isAarch64) [
|
|
(
|
|
pkgs.banana-accounting.overrideDerivation
|
|
(attrs:
|
|
with nodeFlake.inputs'.nixpkgs-2211.legacyPackages; {
|
|
# dontWrapGApps = true;
|
|
|
|
srcs = builtins.fetchurl {
|
|
# hosted via https://web3.storage
|
|
url = "https://bafybeiabi4m2i4izummipbl5wzhwxjyjt2rylgsrahhkh7i63piwd37n4u.ipfs.w3s.link/mfpcksczayaqqx8fdacp0627zm36c001-bananaplus.tgz";
|
|
|
|
sha256 = "09666iqzqdw2526pf6bg5kd0hfw0wblw8ag636ki72dsiw6bmbf1";
|
|
};
|
|
|
|
# nativeBuildInputs =
|
|
# attrs.nativeBuildInputs
|
|
# ++ [
|
|
# qt5.qtbase
|
|
# qt5.wrapQtAppsHook
|
|
# ];
|
|
|
|
# buildInputs =
|
|
# attrs.buildInputs
|
|
# ++ [
|
|
# qt5.qtwayland
|
|
# ];
|
|
|
|
# preFixup =
|
|
# (attrs.preFixup or "")
|
|
# + ''
|
|
# qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
|
# '';
|
|
})
|
|
)
|
|
|
|
pkgsUnstableSmall.ledger-live-desktop
|
|
|
|
# unsupported on aarch64-linux
|
|
pkgs.androidenv.androidPkgs_9_0.platform-tools
|
|
pkgs.teamviewer
|
|
pkgs.discord
|
|
pkgsUnstableSmall.session-desktop
|
|
pkgsUnstableSmall.rustdesk
|
|
]);
|
|
|
|
systemd.user.startServices = true;
|
|
services.syncthing.enable = true;
|
|
|
|
services.udiskie = {
|
|
enable = true;
|
|
automount = false;
|
|
notify = true;
|
|
};
|
|
|
|
# TODO: uncomment this when it's in stable home-manger
|
|
# programs.joshuto = {
|
|
# enable = true;
|
|
# };
|
|
|
|
# systemd.user.services.maestral = {
|
|
# Unit.Description = "Maestral daemon";
|
|
# Install.WantedBy = ["default.target"];
|
|
# Service = {
|
|
# ExecStart = "${pkgs.maestral}/bin/maestral start -f";
|
|
# ExecStop = "${pkgs.maestral}/bin/maestral stop";
|
|
# Restart = "on-failure";
|
|
# Nice = 10;
|
|
# };
|
|
# };
|
|
}
|