2023-04-15 12:21:22 +02:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
config,
|
|
|
|
# these come in via home-manager.extraSpecialArgs and are specific to each node
|
|
|
|
nodeFlake,
|
|
|
|
packages',
|
2023-07-05 15:55:04 +02:00
|
|
|
repoFlake,
|
|
|
|
# repoFlakeInputs',
|
2023-04-15 12:21:22 +02:00
|
|
|
...
|
|
|
|
}: let
|
2023-07-07 22:20:39 +02:00
|
|
|
pkgsMaster = nodeFlake.inputs.nixpkgs-master.legacyPackages.${pkgs.system};
|
2023-05-25 11:30:03 +02:00
|
|
|
pkgsUnstableSmall = nodeFlake.inputs.nixpkgs-unstable-small.legacyPackages.${pkgs.system};
|
2023-07-05 15:55:04 +02:00
|
|
|
pkgs2211 = nodeFlake.inputs.nixpkgs-2211.legacyPackages.${pkgs.system};
|
2023-08-08 20:39:41 +02:00
|
|
|
pkgsUnstableSmallRepo = repoFlake.nixpkgs-unstable-small.${pkgs.system}.legacyPackages;
|
2023-04-15 12:21:22 +02:00
|
|
|
in {
|
|
|
|
imports = [
|
|
|
|
../profiles/common.nix
|
|
|
|
../profiles/dotfiles.nix
|
|
|
|
# FIXME: fix homeshick when no WAN connection is available
|
|
|
|
# ../programs/homeshick.nix
|
|
|
|
|
2023-05-21 11:58:57 +02:00
|
|
|
# ../profiles/gnome-desktop.nix
|
|
|
|
../profiles/sway-desktop.nix
|
2023-05-23 18:11:30 +02:00
|
|
|
# ../profiles/experimental-desktop.nix
|
2023-05-21 11:58:57 +02:00
|
|
|
|
2023-04-15 12:21:22 +02:00
|
|
|
../programs/redshift.nix
|
|
|
|
../programs/gpg-agent.nix
|
|
|
|
|
2023-07-05 15:55:04 +02:00
|
|
|
# ../programs/espanso.nix
|
2023-04-15 12:21:22 +02:00
|
|
|
|
|
|
|
../programs/firefox.nix
|
|
|
|
../programs/chromium.nix
|
|
|
|
|
|
|
|
../programs/libreoffice.nix
|
|
|
|
../programs/neovim.nix
|
|
|
|
../programs/pass.nix
|
|
|
|
../programs/vscode
|
2023-05-23 18:11:30 +02:00
|
|
|
|
2023-07-05 15:55:04 +02:00
|
|
|
# TODO: bump these to 23.05 and make it work
|
|
|
|
(args: import ../programs/radicale.nix (args // {pkgs = pkgs2211;}))
|
|
|
|
# (args: import ../programs/espanso.nix (args // {pkgs = pkgs2211;}))
|
2023-04-15 12:21:22 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
home.sessionVariables.HM_CONFIG = "graphical-fullblown";
|
|
|
|
home.sessionVariables.GOPATH = "$HOME/src/go";
|
|
|
|
home.sessionVariables.PATH = pkgs.lib.concatStringsSep ":" ["$HOME/.local/bin" "$PATH"];
|
|
|
|
|
2023-05-25 11:30:03 +02:00
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
|
|
];
|
|
|
|
|
2023-04-15 12:21:22 +02:00
|
|
|
home.packages =
|
|
|
|
[]
|
|
|
|
++ (with pkgs; [
|
|
|
|
# Authentication
|
|
|
|
cacert
|
|
|
|
fprintd
|
|
|
|
openssl
|
|
|
|
mkpasswd
|
|
|
|
|
|
|
|
# Nix package related tools
|
|
|
|
patchelf
|
|
|
|
nix-index
|
|
|
|
nix-prefetch-scripts
|
|
|
|
# nix-prefetch-github
|
|
|
|
|
|
|
|
# Version Control Systems
|
|
|
|
gitFull
|
|
|
|
pijul
|
|
|
|
# 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
|
2023-05-23 18:11:30 +02:00
|
|
|
|
2023-07-05 15:55:04 +02:00
|
|
|
# gnome.gnome-keyring
|
|
|
|
gcr
|
|
|
|
gnome.seahorse
|
2023-04-15 12:21:22 +02:00
|
|
|
|
|
|
|
# Language Support
|
|
|
|
hunspellDicts.en-us
|
|
|
|
hunspellDicts.de-de
|
|
|
|
|
|
|
|
# Messaging/Communication
|
2023-05-21 11:58:57 +02:00
|
|
|
# pidgin
|
2023-04-15 12:21:22 +02:00
|
|
|
hexchat
|
2023-05-21 11:58:57 +02:00
|
|
|
schildichat-desktop
|
2023-04-15 12:21:22 +02:00
|
|
|
aspellDicts.en
|
|
|
|
aspellDicts.de
|
2023-05-21 11:58:57 +02:00
|
|
|
# skypeforlinux
|
|
|
|
# pkgsUnstable.jitsi-meet-electron
|
2023-04-15 12:21:22 +02:00
|
|
|
thunderbird
|
|
|
|
evolution # gnome4.glib_networking
|
2023-05-23 18:11:30 +02:00
|
|
|
|
|
|
|
# FIXME: depends on insecure openssl 1.1.1t
|
|
|
|
# kotatogram-desktop
|
2023-05-24 09:27:34 +02:00
|
|
|
tdesktop
|
2023-07-05 15:55:04 +02:00
|
|
|
(let
|
|
|
|
version = "6.20.0-beta.1";
|
|
|
|
in
|
|
|
|
pkgsUnstableSmall.signal-desktop-beta.overrideAttrs (old: {
|
|
|
|
inherit version;
|
|
|
|
src = builtins.fetchurl {
|
|
|
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
|
|
|
|
sha256 = "0xkagnldagfxnpv4c23yd9w0kz1y719m1sj9vqn8mnr1zfn7j62a";
|
|
|
|
};
|
|
|
|
preFixup =
|
|
|
|
old.preFixup
|
|
|
|
+ ''
|
|
|
|
gappsWrapperArgs+=(
|
|
|
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}"
|
|
|
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform}}"
|
|
|
|
)
|
|
|
|
'';
|
|
|
|
}))
|
|
|
|
|
|
|
|
# --add-flags "--enable-features=UseOzonePlatform"
|
|
|
|
# --add-flags "--ozone-platform=wayland"
|
|
|
|
(pkgsUnstableSmall.session-desktop.overrideAttrs (old: {
|
|
|
|
nativeBuildInputs =
|
|
|
|
old.nativeBuildInputs
|
|
|
|
++ [
|
|
|
|
pkgs.wrapGAppsHook
|
|
|
|
];
|
|
|
|
|
|
|
|
preFixup =
|
|
|
|
(old.preFixup or "")
|
|
|
|
+ ''
|
|
|
|
gappsWrapperArgs+=(
|
|
|
|
--add-flags "--enable-features=UseOzonePlatform"
|
|
|
|
--add-flags "--ozone-platform=wayland"
|
|
|
|
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}"
|
|
|
|
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=WaylandWindowDecorations}}"
|
|
|
|
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform}}"
|
|
|
|
)
|
|
|
|
'';
|
|
|
|
}))
|
|
|
|
|
|
|
|
#(pkgsUnstableSmall.session-desktop.overrideAttrs(old: {
|
|
|
|
# nativeBuildInputs = old.nativeBuildInputs ++ [
|
|
|
|
# pkgs.wrapGAppsHook
|
|
|
|
# ];
|
|
|
|
#
|
|
|
|
# preFixup = (old.preFixup or "") + ''
|
|
|
|
# gappsWrapperArgs+=(
|
|
|
|
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
|
|
|
|
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform}}"
|
|
|
|
# )
|
|
|
|
# '';
|
|
|
|
# }))
|
2023-05-23 18:11:30 +02:00
|
|
|
|
2023-04-15 12:21:22 +02:00
|
|
|
thunderbird
|
2023-05-23 18:11:30 +02:00
|
|
|
# gnome.cheese
|
2023-05-24 09:27:34 +02:00
|
|
|
discord
|
2023-04-15 12:21:22 +02:00
|
|
|
|
|
|
|
# Virtualization
|
|
|
|
# virtmanager
|
|
|
|
|
|
|
|
# Remote Control Tools
|
|
|
|
remmina
|
|
|
|
freerdp
|
|
|
|
teamviewer
|
|
|
|
rustdesk
|
|
|
|
|
|
|
|
# Audio/Video Players
|
|
|
|
ffmpeg
|
|
|
|
vlc
|
|
|
|
audacity
|
|
|
|
spotify
|
2023-07-05 15:55:04 +02:00
|
|
|
yt-dlp
|
|
|
|
(writeShellScriptBin "youtube-dl-audio" "${yt-dlp}/bin/yt-dlp --extract-audio --audio-format best --audio-quality 9 \${@:?}")
|
2023-04-15 12:21:22 +02:00
|
|
|
libwebcam
|
|
|
|
|
|
|
|
# Network Tools
|
|
|
|
openvpn
|
|
|
|
tcpdump
|
|
|
|
iftop
|
|
|
|
iperf
|
|
|
|
bind
|
|
|
|
socat
|
|
|
|
# 2019-03-05: broken on 19.03 linssid
|
|
|
|
iptraf-ng
|
|
|
|
ipmitool
|
|
|
|
|
|
|
|
iptables
|
|
|
|
nftables
|
|
|
|
wireshark
|
|
|
|
wireguard-tools
|
|
|
|
|
|
|
|
# Code Editors
|
|
|
|
xclip
|
|
|
|
xsel
|
|
|
|
|
|
|
|
# Image/Graphic/Design Tools
|
|
|
|
gnome.eog
|
|
|
|
gimp
|
|
|
|
imagemagick
|
|
|
|
exiv2
|
|
|
|
graphviz
|
|
|
|
inkscape
|
|
|
|
qrencode
|
|
|
|
zbar
|
|
|
|
feh
|
|
|
|
|
|
|
|
# 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
|
2023-07-07 22:20:39 +02:00
|
|
|
gnome.nautilus
|
2023-07-05 15:55:04 +02:00
|
|
|
xfce.thunar
|
2023-07-07 22:20:39 +02:00
|
|
|
pcmanfm
|
2023-07-05 15:55:04 +02:00
|
|
|
# mendeley
|
2023-05-21 11:58:57 +02:00
|
|
|
evince
|
2023-08-08 20:39:41 +02:00
|
|
|
pkgsUnstableSmall.logseq
|
2023-04-15 12:21:22 +02:00
|
|
|
|
|
|
|
# File Synchronzation
|
2023-07-07 22:20:39 +02:00
|
|
|
maestral
|
|
|
|
maestral-gui
|
2023-04-15 12:21:22 +02:00
|
|
|
rsync
|
|
|
|
|
|
|
|
# Filesystem Tools
|
|
|
|
ntfs3g
|
|
|
|
ddrescue
|
|
|
|
ncdu
|
|
|
|
unetbootin
|
|
|
|
hdparm
|
|
|
|
testdisk
|
|
|
|
# binwalk
|
|
|
|
gptfdisk
|
|
|
|
gparted
|
|
|
|
smartmontools
|
|
|
|
|
|
|
|
## Android
|
|
|
|
androidenv.androidPkgs_9_0.platform-tools
|
|
|
|
|
|
|
|
## Python
|
|
|
|
packages'.myPython
|
|
|
|
|
|
|
|
# Misc Desktop Tools
|
|
|
|
ltunify
|
|
|
|
# dex
|
|
|
|
xorg.xbacklight
|
|
|
|
coreutils
|
|
|
|
lsof
|
|
|
|
xdotool
|
|
|
|
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
|
|
|
|
|
2023-05-25 11:30:03 +02:00
|
|
|
pkgsUnstableSmall.ledger-live-desktop
|
2023-04-15 12:21:22 +02:00
|
|
|
]);
|
|
|
|
|
|
|
|
systemd.user.startServices = true;
|
|
|
|
services.syncthing.enable = true;
|
2023-07-07 22:20:39 +02:00
|
|
|
|
|
|
|
services.udiskie = {
|
|
|
|
enable = true;
|
|
|
|
automount = true;
|
|
|
|
notify = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
# FIXME: doesn't work as the service can't seem to control its started PID
|
|
|
|
services.dropbox = {
|
|
|
|
enable = false;
|
|
|
|
path = "${config.home.homeDirectory}/Dropbox-Hm";
|
|
|
|
};
|
|
|
|
|
|
|
|
# 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;
|
|
|
|
# };
|
|
|
|
# };
|
2023-04-15 12:21:22 +02:00
|
|
|
}
|