add obsidian notes, syncthing dependency

This commit is contained in:
Haak Saxberg 2020-06-16 22:28:05 -07:00
parent 77cce70b7e
commit 88af6eee7c
2 changed files with 79 additions and 12 deletions

View file

@ -52,8 +52,8 @@
cachix cachix
firefox firefox
inkscape inkscape
p7zip
plasma-browser-integration plasma-browser-integration
unzip
vim vim
wget wget
xclip xclip
@ -65,6 +65,21 @@
fonts.fonts = with pkgs; [ fira-code ]; fonts.fonts = with pkgs; [ fira-code ];
# Open ports in the firewall.
networking.firewall = {
allowedTCPPorts = [
631 # CUPs port for printing
6881 # port for torrenting
];
allowedUDPPorts = [
631
6881
];
};
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.
# programs.mtr.enable = true; # programs.mtr.enable = true;
@ -75,18 +90,13 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
# services.openssh.enable = true; # services.openssh.enable = true;
# Open ports in the firewall. # Torrenting!
networking.firewall = { services.deluge = {
allowedTCPPorts = [ enable = true;
631 # CUPs port for printing declarative = true;
]; authFile = /home/haak/dotfiles/secrets/deluge_auth;
allowedUDPPorts = [ openFirewall = true;
631
];
}; };
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Enable CUPS to print documents. # Enable CUPS to print documents.
services.printing = { services.printing = {
enable = true; enable = true;
@ -116,6 +126,13 @@
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
}; };
services.syncthing = {
enable = true;
user = "haak";
dataDir = "/home/haak/synced";
configDir = "/home/haak/synced/.config/syncthing";
};
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.haak = { users.users.haak = {
isNormalUser = true; isNormalUser = true;

50
nix/obsidian.nix Normal file
View file

@ -0,0 +1,50 @@
{ stdenv, writeScript, gtk3, appimageTools }:
# run this function like so:
# nix-shell --run obsidian -p "callPackage ./path/to/this/file.nix {}"
let
inherit (appimageTools) extractType2 wrapType2;
name = "obsidian";
src = ~/Downloads/Obsidian-0.6.7.AppImage;
# you can add more paths as required
xdg_dirs = builtins.concatStringsSep ":" [
"${gtk3}/share/gsettings-schemas/${gtk3.name}"
];
# not necessary, here for debugging purposes
# adapted from the original runScript of appimageTools
extracted_source = extractType2 { inherit name src; };
debugScript = writeScript "run" ''
#!${stdenv.shell}
export APPDIR=${extracted_source}
export APPIMAGE_SILENT_INSTALL=1
# >>> inspect the script running environment here <<<
echo "INSPECT: ''${GIO_EXTRA_MODULES:-no extra modules!}"
echo "INSPECT: ''${GSETTINGS_SCHEMA_DIR:-no schemas!}"
echo "INSPECT: ''${XDG_DATA_DIRS:-no data dirs!}"
cd $APPDIR
exec ./AppRun "$@"
'';
in wrapType2 {
inherit name src;
# for debugging purposes only
#runScript = debugScript;
extraPkgs = pkgs: with pkgs; [
# put runtime dependencies if any here
];
# the magic happens here
# other potential variables of interest:
# GIO_EXTRA_MODULES, GSETTINGS_SCHEMA_DIR
profile = ''
export XDG_DATA_DIRS="${xdg_dirs}''${XDG_DATA_DIRS:+:"''$XDG_DATA_DIRS"}"
'';
}