mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
feat: freshrss and minor adjustments
This commit is contained in:
parent
3e48a93199
commit
a85615d0f4
16 changed files with 142 additions and 149 deletions
|
|
@ -1396,6 +1396,7 @@ My work machine. Built for more security, this is the gold standard of my config
|
||||||
isLaptop = true;
|
isLaptop = true;
|
||||||
isNixos = true;
|
isNixos = true;
|
||||||
isBtrfs = true;
|
isBtrfs = true;
|
||||||
|
flakePath = "/home/swarsel/.dotfiles";
|
||||||
# temperatureHwmon = {
|
# temperatureHwmon = {
|
||||||
# isAbsolutePath = true;
|
# isAbsolutePath = true;
|
||||||
# path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
# path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
||||||
|
|
@ -1596,6 +1597,7 @@ My work machine. Built for more security, this is the gold standard of my config
|
||||||
transmission = true;
|
transmission = true;
|
||||||
syncthing = true;
|
syncthing = true;
|
||||||
monitoring = true;
|
monitoring = true;
|
||||||
|
freshrss = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1815,7 +1817,6 @@ This machine mainly acts as an external sync helper. It manages the following th
|
||||||
enable = true;
|
enable = true;
|
||||||
forgejo = true;
|
forgejo = true;
|
||||||
ankisync = true;
|
ankisync = true;
|
||||||
emacs = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2842,6 +2843,7 @@ I usually use =mutableUsers = false= in my NixOS configuration. However, on a ne
|
||||||
options.swarselsystems.server.emacs = lib.mkEnableOption "enable emacs server on server";
|
options.swarselsystems.server.emacs = lib.mkEnableOption "enable emacs server on server";
|
||||||
options.swarselsystems.server.forgejo = lib.mkEnableOption "enable forgejo on server";
|
options.swarselsystems.server.forgejo = lib.mkEnableOption "enable forgejo on server";
|
||||||
options.swarselsystems.server.ankisync = lib.mkEnableOption "enable ankisync on server";
|
options.swarselsystems.server.ankisync = lib.mkEnableOption "enable ankisync on server";
|
||||||
|
options.swarselsystems.server.freshrss = lib.mkEnableOption "enable freshrss on server";
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -3130,6 +3132,10 @@ These are some extra options that will be used if the machine also runs NixOS. F
|
||||||
#+begin_src nix :noweb yes :tangle modules/home/nixos.nix
|
#+begin_src nix :noweb yes :tangle modules/home/nixos.nix
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.flakePath = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
||||||
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
||||||
{
|
{
|
||||||
|
|
@ -5079,6 +5085,7 @@ Also, the system state version is set here. No need to touch it.
|
||||||
./emacs.nix
|
./emacs.nix
|
||||||
./forgejo.nix
|
./forgejo.nix
|
||||||
./ankisync.nix
|
./ankisync.nix
|
||||||
|
./freshrss.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -6606,20 +6613,44 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
startWithGraphical = false;
|
startWithGraphical = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
**** FreshRSS
|
||||||
|
|
||||||
|
#+begin_src nix :tangle profiles/server/nixos/freshrss.nix
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.swarselsystems.server.freshrss {
|
||||||
|
|
||||||
|
users.users.freshrss = {
|
||||||
|
extraGroups = [ "users" ];
|
||||||
|
group = "freshrss";
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.freshrss = {};
|
||||||
|
|
||||||
|
sops.secrets.fresh = { owner = "freshrss"; };
|
||||||
|
|
||||||
|
services.freshrss = {
|
||||||
|
enable = true;
|
||||||
|
virtualHost = "signpost.swarsel.win";
|
||||||
|
baseUrl = "https://signpost.swarsel.win";
|
||||||
|
# authType = "none";
|
||||||
|
dataDir = "/Vault/data/tt-rss";
|
||||||
|
defaultUser = "Swarsel";
|
||||||
|
passwordFile = config.sops.secrets.fresh.path;
|
||||||
|
};
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"signpost.swarsel.win" = {
|
"signpost.swarsel.win" = {
|
||||||
enableACME = false;
|
enableACME = true;
|
||||||
forceSSL = false;
|
forceSSL = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
locations = {
|
|
||||||
"/" = {
|
|
||||||
proxyPass = "http://localhost:9812";
|
|
||||||
extraConfig = ''
|
|
||||||
client_max_body_size 0;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -7490,7 +7521,7 @@ I use sops-nix to handle secrets that I want to have available on my machines at
|
||||||
leon = { path = "/run/user/1000/secrets/leon"; };
|
leon = { path = "/run/user/1000/secrets/leon"; };
|
||||||
swarselmail = { path = "/run/user/1000/secrets/swarselmail"; };
|
swarselmail = { path = "/run/user/1000/secrets/swarselmail"; };
|
||||||
github_notif = { path = "/run/user/1000/secrets/github_notif"; };
|
github_notif = { path = "/run/user/1000/secrets/github_notif"; };
|
||||||
# caldav = { path = "${config.home.homeDirectory}/.emacs.d/.caldav"; };
|
fever = { path = "${config.home.homeDirectory}/.emacs.d/.fever"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -7744,13 +7775,16 @@ Sets environment variables. Here I am only setting the EDITOR variable, most var
|
||||||
This section is for programs that require no further configuration. zsh Integration is enabled by default for these.
|
This section is for programs that require no further configuration. zsh Integration is enabled by default for these.
|
||||||
|
|
||||||
#+begin_src nix :tangle profiles/common/home/programs.nix
|
#+begin_src nix :tangle profiles/common/home/programs.nix
|
||||||
_:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
bottom.enable = true;
|
bottom.enable = true;
|
||||||
imv.enable = true;
|
imv.enable = true;
|
||||||
sioyek.enable = true;
|
sioyek.enable = true;
|
||||||
bat.enable = true;
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];
|
||||||
|
};
|
||||||
carapace.enable = true;
|
carapace.enable = true;
|
||||||
wlogout.enable = true;
|
wlogout.enable = true;
|
||||||
swayr.enable = true;
|
swayr.enable = true;
|
||||||
|
|
@ -8085,10 +8119,9 @@ Here we set some aliases (some of them should be shellApplications instead) as w
|
||||||
shellAliases = lib.recursiveUpdate
|
shellAliases = lib.recursiveUpdate
|
||||||
{
|
{
|
||||||
hg = "history | grep";
|
hg = "history | grep";
|
||||||
hmswitch = "cd ~/.dotfiles; home-manager --flake .#$(whoami)@$(hostname) switch; cd -;";
|
hmswitch = "home-manager --flake ${config.swarselsystems.flakePath}#$(whoami)@$(hostname) switch";
|
||||||
nswitch = "cd ~/.dotfiles; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
nswitch = "sudo nixos-rebuild --flake ${config.swarselsystems.flakePath}#$(hostname) switch";
|
||||||
nswitch-stay = "cd ~/.dotfiles; git restore flake.lock; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
nboot = "sudo nixos-rebuild --flake ${config.swarselsystems.flakePath}#$(hostname) boot";
|
||||||
edithome = "e -w ~/.dotfiles/SwarselSystems.org";
|
|
||||||
magit = "emacsclient -nc -e \"(magit-status)\"";
|
magit = "emacsclient -nc -e \"(magit-status)\"";
|
||||||
config = "git --git-dir=$HOME/.cfg/ --work-tree=$HOME";
|
config = "git --git-dir=$HOME/.cfg/ --work-tree=$HOME";
|
||||||
g = "git";
|
g = "git";
|
||||||
|
|
@ -8097,6 +8130,8 @@ Here we set some aliases (some of them should be shellApplications instead) as w
|
||||||
passpull = "cd ~/.local/share/password-store; git pull; cd -;";
|
passpull = "cd ~/.local/share/password-store; git pull; cd -;";
|
||||||
hotspot = "nmcli connection up local; nmcli device wifi hotspot;";
|
hotspot = "nmcli connection up local; nmcli device wifi hotspot;";
|
||||||
cd = "z";
|
cd = "z";
|
||||||
|
cd-orig = "cd";
|
||||||
|
cat-orig = "cat";
|
||||||
cdr = "cd \"$( (find /home/swarsel/Documents/GitHub -maxdepth 1 && echo /home/swarsel/.dotfiles) | fzf )\"";
|
cdr = "cd \"$( (find /home/swarsel/Documents/GitHub -maxdepth 1 && echo /home/swarsel/.dotfiles) | fzf )\"";
|
||||||
nix-ldd = "LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH ldd";
|
nix-ldd = "LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH ldd";
|
||||||
fs-diff = "sudo mount -o subvol=/ /dev/mapper/cryptroot /mnt ; fs-diff";
|
fs-diff = "sudo mount -o subvol=/ /dev/mapper/cryptroot /mnt ; fs-diff";
|
||||||
|
|
@ -12374,64 +12409,26 @@ This mode is not automatically activated anywhere because I only rarely need it.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
;; (setq elfeed-feeds
|
(use-package elfeed)
|
||||||
;; '("https://www.coindesk.com/arc/outboundfeeds/rss/"
|
|
||||||
;; "https://feed.phenx.de/lootscraper_gog_game.xml"
|
|
||||||
;; "https://feed.phenx.de/lootscraper_ubisoft_game.xml"
|
|
||||||
;; "https://hnrss.org/frontpage"
|
|
||||||
;; "https://www.derstandard.at/rss/inland"
|
|
||||||
;; "https://www.derstandard.at/rss/international"
|
|
||||||
;; "https://www.derstandard.at/rss/kultur"
|
|
||||||
;; "https://www.derstandard.at/rss/wissenschaft"
|
|
||||||
;; "https://www.rfc-editor.org/rfcrss.xml"
|
|
||||||
;; "https://waitbutwhy.com/feed"
|
|
||||||
;; "https://steamcommunity.com/groups/freegamesfinders/rss/"))
|
|
||||||
|
|
||||||
(use-package elfeed
|
|
||||||
:ensure t
|
|
||||||
:bind (:map elfeed-search-mode-map
|
|
||||||
; ("A" . bjm/elfeed-show-all)
|
|
||||||
; ("E" . bjm/elfeed-show-emacs)
|
|
||||||
; ("D" . bjm/elfeed-show-daily)
|
|
||||||
("q" . bjm/elfeed-save-db-and-bury)))
|
|
||||||
|
|
||||||
|
|
||||||
(require 'elfeed)
|
|
||||||
|
|
||||||
;; Load elfeed-org
|
|
||||||
(use-package elfeed-org
|
|
||||||
:config
|
|
||||||
(elfeed-org)
|
|
||||||
(setq rmh-elfeed-org-files (list "~/.elfeed/elfeed.org"))
|
|
||||||
)
|
|
||||||
|
|
||||||
(use-package elfeed-goodies)
|
(use-package elfeed-goodies)
|
||||||
(elfeed-goodies/setup)
|
(elfeed-goodies/setup)
|
||||||
|
|
||||||
(use-package elfeed-web)
|
|
||||||
|
|
||||||
;;functions to support syncing .elfeed between machines
|
|
||||||
;;makes sure elfeed reads index from disk before launching
|
|
||||||
(defun bjm/elfeed-load-db-and-open ()
|
|
||||||
"Wrapper to load the elfeed db from disk before opening"
|
|
||||||
(interactive)
|
|
||||||
(elfeed-db-load)
|
|
||||||
(elfeed)
|
|
||||||
(elfeed-search-update--force)
|
|
||||||
(elfeed-update))
|
|
||||||
|
|
||||||
;;write to disk when quiting
|
|
||||||
(defun bjm/elfeed-save-db-and-bury ()
|
|
||||||
"Wrapper to save the elfeed db to disk before burying buffer"
|
|
||||||
(interactive)
|
|
||||||
(elfeed-db-save)
|
|
||||||
(quit-window))
|
|
||||||
|
|
||||||
(setq elfeed-db-directory "~/.elfeed/db/")
|
(setq elfeed-db-directory "~/.elfeed/db/")
|
||||||
|
|
||||||
|
|
||||||
(global-set-key (kbd "C-c w") 'bjm/elfeed-load-db-and-open)
|
(use-package elfeed-protocol
|
||||||
|
:after elfeed)
|
||||||
|
|
||||||
|
(elfeed-protocol-enable)
|
||||||
|
(setq elfeed-use-curl t)
|
||||||
|
(setq elfeed-set-timeout 36000)
|
||||||
|
(setq elfeed-protocol-enabled-protocols '(fever))
|
||||||
|
(setq elfeed-protocol-fever-update-unread-only t)
|
||||||
|
(setq elfeed-protocol-fever-fetch-category-as-tag t)
|
||||||
|
(setq elfeed-protocol-feeds '(("fever+https://Swarsel@signpost.swarsel.win"
|
||||||
|
:api-url "https://signpost.swarsel.win/api/fever.php"
|
||||||
|
:password-file "~/.emacs.d/.fever")))
|
||||||
|
|
||||||
(define-key elfeed-show-mode-map (kbd ";") 'visual-fill-column-mode)
|
(define-key elfeed-show-mode-map (kbd ";") 'visual-fill-column-mode)
|
||||||
(define-key elfeed-show-mode-map (kbd "j") 'elfeed-goodies/split-show-next)
|
(define-key elfeed-show-mode-map (kbd "j") 'elfeed-goodies/split-show-next)
|
||||||
|
|
@ -12442,6 +12439,7 @@ This mode is not automatically activated anywhere because I only rarely need it.
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
*** darkroom
|
*** darkroom
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: h:94d4a0dc-b0d7-4702-b760-beeaa6da2b8f
|
:CUSTOM_ID: h:94d4a0dc-b0d7-4702-b760-beeaa6da2b8f
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ in
|
||||||
isLaptop = true;
|
isLaptop = true;
|
||||||
isNixos = true;
|
isNixos = true;
|
||||||
isBtrfs = true;
|
isBtrfs = true;
|
||||||
|
flakePath = "/home/swarsel/.dotfiles";
|
||||||
# temperatureHwmon = {
|
# temperatureHwmon = {
|
||||||
# isAbsolutePath = true;
|
# isAbsolutePath = true;
|
||||||
# path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
# path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,6 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
forgejo = true;
|
forgejo = true;
|
||||||
ankisync = true;
|
ankisync = true;
|
||||||
emacs = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,7 @@ in
|
||||||
transmission = true;
|
transmission = true;
|
||||||
syncthing = true;
|
syncthing = true;
|
||||||
monitoring = true;
|
monitoring = true;
|
||||||
|
freshrss = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.flakePath = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
||||||
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -31,4 +31,5 @@ in
|
||||||
options.swarselsystems.server.emacs = lib.mkEnableOption "enable emacs server on server";
|
options.swarselsystems.server.emacs = lib.mkEnableOption "enable emacs server on server";
|
||||||
options.swarselsystems.server.forgejo = lib.mkEnableOption "enable forgejo on server";
|
options.swarselsystems.server.forgejo = lib.mkEnableOption "enable forgejo on server";
|
||||||
options.swarselsystems.server.ankisync = lib.mkEnableOption "enable ankisync on server";
|
options.swarselsystems.server.ankisync = lib.mkEnableOption "enable ankisync on server";
|
||||||
|
options.swarselsystems.server.freshrss = lib.mkEnableOption "enable freshrss on server";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
_:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
bottom.enable = true;
|
bottom.enable = true;
|
||||||
imv.enable = true;
|
imv.enable = true;
|
||||||
sioyek.enable = true;
|
sioyek.enable = true;
|
||||||
bat.enable = true;
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];
|
||||||
|
};
|
||||||
carapace.enable = true;
|
carapace.enable = true;
|
||||||
wlogout.enable = true;
|
wlogout.enable = true;
|
||||||
swayr.enable = true;
|
swayr.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ in
|
||||||
leon = { path = "/run/user/1000/secrets/leon"; };
|
leon = { path = "/run/user/1000/secrets/leon"; };
|
||||||
swarselmail = { path = "/run/user/1000/secrets/swarselmail"; };
|
swarselmail = { path = "/run/user/1000/secrets/swarselmail"; };
|
||||||
github_notif = { path = "/run/user/1000/secrets/github_notif"; };
|
github_notif = { path = "/run/user/1000/secrets/github_notif"; };
|
||||||
# caldav = { path = "${config.home.homeDirectory}/.emacs.d/.caldav"; };
|
fever = { path = "${config.home.homeDirectory}/.emacs.d/.fever"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,9 @@
|
||||||
shellAliases = lib.recursiveUpdate
|
shellAliases = lib.recursiveUpdate
|
||||||
{
|
{
|
||||||
hg = "history | grep";
|
hg = "history | grep";
|
||||||
hmswitch = "cd ~/.dotfiles; home-manager --flake .#$(whoami)@$(hostname) switch; cd -;";
|
hmswitch = "home-manager --flake ${config.swarselsystems.flakePath}#$(whoami)@$(hostname) switch";
|
||||||
nswitch = "cd ~/.dotfiles; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
nswitch = "sudo nixos-rebuild --flake ${config.swarselsystems.flakePath}#$(hostname) switch";
|
||||||
nswitch-stay = "cd ~/.dotfiles; git restore flake.lock; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
nboot = "sudo nixos-rebuild --flake ${config.swarselsystems.flakePath}#$(hostname) boot";
|
||||||
edithome = "e -w ~/.dotfiles/SwarselSystems.org";
|
|
||||||
magit = "emacsclient -nc -e \"(magit-status)\"";
|
magit = "emacsclient -nc -e \"(magit-status)\"";
|
||||||
config = "git --git-dir=$HOME/.cfg/ --work-tree=$HOME";
|
config = "git --git-dir=$HOME/.cfg/ --work-tree=$HOME";
|
||||||
g = "git";
|
g = "git";
|
||||||
|
|
@ -17,6 +16,8 @@
|
||||||
passpull = "cd ~/.local/share/password-store; git pull; cd -;";
|
passpull = "cd ~/.local/share/password-store; git pull; cd -;";
|
||||||
hotspot = "nmcli connection up local; nmcli device wifi hotspot;";
|
hotspot = "nmcli connection up local; nmcli device wifi hotspot;";
|
||||||
cd = "z";
|
cd = "z";
|
||||||
|
cd-orig = "cd";
|
||||||
|
cat-orig = "cat";
|
||||||
cdr = "cd \"$( (find /home/swarsel/Documents/GitHub -maxdepth 1 && echo /home/swarsel/.dotfiles) | fzf )\"";
|
cdr = "cd \"$( (find /home/swarsel/Documents/GitHub -maxdepth 1 && echo /home/swarsel/.dotfiles) | fzf )\"";
|
||||||
nix-ldd = "LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH ldd";
|
nix-ldd = "LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH ldd";
|
||||||
fs-diff = "sudo mount -o subvol=/ /dev/mapper/cryptroot /mnt ; fs-diff";
|
fs-diff = "sudo mount -o subvol=/ /dev/mapper/cryptroot /mnt ; fs-diff";
|
||||||
|
|
|
||||||
|
|
@ -36,5 +36,6 @@ in
|
||||||
./emacs.nix
|
./emacs.nix
|
||||||
./forgejo.nix
|
./forgejo.nix
|
||||||
./ankisync.nix
|
./ankisync.nix
|
||||||
|
./freshrss.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,23 +10,6 @@
|
||||||
startWithGraphical = false;
|
startWithGraphical = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx = {
|
|
||||||
virtualHosts = {
|
|
||||||
"signpost.swarsel.win" = {
|
|
||||||
enableACME = false;
|
|
||||||
forceSSL = false;
|
|
||||||
acmeRoot = null;
|
|
||||||
locations = {
|
|
||||||
"/" = {
|
|
||||||
proxyPass = "http://localhost:9812";
|
|
||||||
extraConfig = ''
|
|
||||||
client_max_body_size 0;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
36
profiles/server/nixos/freshrss.nix
Normal file
36
profiles/server/nixos/freshrss.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.swarselsystems.server.freshrss {
|
||||||
|
|
||||||
|
users.users.freshrss = {
|
||||||
|
extraGroups = [ "users" ];
|
||||||
|
group = "freshrss";
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.freshrss = { };
|
||||||
|
|
||||||
|
sops.secrets.fresh = { owner = "freshrss"; };
|
||||||
|
|
||||||
|
services.freshrss = {
|
||||||
|
enable = true;
|
||||||
|
virtualHost = "signpost.swarsel.win";
|
||||||
|
baseUrl = "https://signpost.swarsel.win";
|
||||||
|
# authType = "none";
|
||||||
|
dataDir = "/Vault/data/tt-rss";
|
||||||
|
defaultUser = "Swarsel";
|
||||||
|
passwordFile = config.sops.secrets.fresh.path;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
virtualHosts = {
|
||||||
|
"signpost.swarsel.win" = {
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
acmeRoot = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1251,64 +1251,26 @@ create a new one."
|
||||||
(setq olivetti-body-width 100)
|
(setq olivetti-body-width 100)
|
||||||
(setq olivetti-recall-visual-line-mode-entry-state t))
|
(setq olivetti-recall-visual-line-mode-entry-state t))
|
||||||
|
|
||||||
;; (setq elfeed-feeds
|
(use-package elfeed)
|
||||||
;; '("https://www.coindesk.com/arc/outboundfeeds/rss/"
|
|
||||||
;; "https://feed.phenx.de/lootscraper_gog_game.xml"
|
|
||||||
;; "https://feed.phenx.de/lootscraper_ubisoft_game.xml"
|
|
||||||
;; "https://hnrss.org/frontpage"
|
|
||||||
;; "https://www.derstandard.at/rss/inland"
|
|
||||||
;; "https://www.derstandard.at/rss/international"
|
|
||||||
;; "https://www.derstandard.at/rss/kultur"
|
|
||||||
;; "https://www.derstandard.at/rss/wissenschaft"
|
|
||||||
;; "https://www.rfc-editor.org/rfcrss.xml"
|
|
||||||
;; "https://waitbutwhy.com/feed"
|
|
||||||
;; "https://steamcommunity.com/groups/freegamesfinders/rss/"))
|
|
||||||
|
|
||||||
(use-package elfeed
|
|
||||||
:ensure t
|
|
||||||
:bind (:map elfeed-search-mode-map
|
|
||||||
; ("A" . bjm/elfeed-show-all)
|
|
||||||
; ("E" . bjm/elfeed-show-emacs)
|
|
||||||
; ("D" . bjm/elfeed-show-daily)
|
|
||||||
("q" . bjm/elfeed-save-db-and-bury)))
|
|
||||||
|
|
||||||
|
|
||||||
(require 'elfeed)
|
|
||||||
|
|
||||||
;; Load elfeed-org
|
|
||||||
(use-package elfeed-org
|
|
||||||
:config
|
|
||||||
(elfeed-org)
|
|
||||||
(setq rmh-elfeed-org-files (list "~/.elfeed/elfeed.org"))
|
|
||||||
)
|
|
||||||
|
|
||||||
(use-package elfeed-goodies)
|
(use-package elfeed-goodies)
|
||||||
(elfeed-goodies/setup)
|
(elfeed-goodies/setup)
|
||||||
|
|
||||||
(use-package elfeed-web)
|
|
||||||
|
|
||||||
;;functions to support syncing .elfeed between machines
|
|
||||||
;;makes sure elfeed reads index from disk before launching
|
|
||||||
(defun bjm/elfeed-load-db-and-open ()
|
|
||||||
"Wrapper to load the elfeed db from disk before opening"
|
|
||||||
(interactive)
|
|
||||||
(elfeed-db-load)
|
|
||||||
(elfeed)
|
|
||||||
(elfeed-search-update--force)
|
|
||||||
(elfeed-update))
|
|
||||||
|
|
||||||
;;write to disk when quiting
|
|
||||||
(defun bjm/elfeed-save-db-and-bury ()
|
|
||||||
"Wrapper to save the elfeed db to disk before burying buffer"
|
|
||||||
(interactive)
|
|
||||||
(elfeed-db-save)
|
|
||||||
(quit-window))
|
|
||||||
|
|
||||||
(setq elfeed-db-directory "~/.elfeed/db/")
|
(setq elfeed-db-directory "~/.elfeed/db/")
|
||||||
|
|
||||||
|
|
||||||
(global-set-key (kbd "C-c w") 'bjm/elfeed-load-db-and-open)
|
(use-package elfeed-protocol
|
||||||
|
:after elfeed)
|
||||||
|
|
||||||
|
(elfeed-protocol-enable)
|
||||||
|
(setq elfeed-use-curl t)
|
||||||
|
(setq elfeed-set-timeout 36000)
|
||||||
|
(setq elfeed-protocol-enabled-protocols '(fever))
|
||||||
|
(setq elfeed-protocol-fever-update-unread-only t)
|
||||||
|
(setq elfeed-protocol-fever-fetch-category-as-tag t)
|
||||||
|
(setq elfeed-protocol-feeds '(("fever+https://Swarsel@signpost.swarsel.win"
|
||||||
|
:api-url "https://signpost.swarsel.win/api/fever.php"
|
||||||
|
:password-file "~/.emacs.d/.fever")))
|
||||||
|
|
||||||
(define-key elfeed-show-mode-map (kbd ";") 'visual-fill-column-mode)
|
(define-key elfeed-show-mode-map (kbd ";") 'visual-fill-column-mode)
|
||||||
(define-key elfeed-show-mode-map (kbd "j") 'elfeed-goodies/split-show-next)
|
(define-key elfeed-show-mode-map (kbd "j") 'elfeed-goodies/split-show-next)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ mrswarsel: ENC[AES256_GCM,data:2PA5eSGe0U8hgSxEMYgwadcISA==,iv:pR0OHRTWM5tCv8gd1
|
||||||
nautilus: ENC[AES256_GCM,data:lcN8hZT1MGHwSHGJdYaeUGUDaw==,iv:8wtRxFAC/axTDnrTj3LNSdXlOIuGRf0Y0NIC+lZauOw=,tag:KOgF0geY64ZP+RdkZ63h9w==,type:str]
|
nautilus: ENC[AES256_GCM,data:lcN8hZT1MGHwSHGJdYaeUGUDaw==,iv:8wtRxFAC/axTDnrTj3LNSdXlOIuGRf0Y0NIC+lZauOw=,tag:KOgF0geY64ZP+RdkZ63h9w==,type:str]
|
||||||
leon: ENC[AES256_GCM,data:2EScIa4/zFoia61VeMO3HwjDCA==,iv:sPRMBtlq95i5pcffn+hJS8Cupb+aVl0cgXTobEJka5o=,tag:x70G7BdzlNGpty3qfpe/xQ==,type:str]
|
leon: ENC[AES256_GCM,data:2EScIa4/zFoia61VeMO3HwjDCA==,iv:sPRMBtlq95i5pcffn+hJS8Cupb+aVl0cgXTobEJka5o=,tag:x70G7BdzlNGpty3qfpe/xQ==,type:str]
|
||||||
caldav: ENC[AES256_GCM,data:CTRi3zjtVZKjdMHGotpLYRvAN5y3wIukl6uRGJg+83iT9ihIJWZLHPFfu+0SDbrWJcdLfOf5582SJR+dEbJTM4LQ7M8CglqQ5y+JrA==,iv:4mcrEScfd/Fls6D+Ht+VyPsy0MMDdS+uTb6kUJO8zaU=,tag:UMI7Y1SY2z7/ojKjVB8yqw==,type:str]
|
caldav: ENC[AES256_GCM,data:CTRi3zjtVZKjdMHGotpLYRvAN5y3wIukl6uRGJg+83iT9ihIJWZLHPFfu+0SDbrWJcdLfOf5582SJR+dEbJTM4LQ7M8CglqQ5y+JrA==,iv:4mcrEScfd/Fls6D+Ht+VyPsy0MMDdS+uTb6kUJO8zaU=,tag:UMI7Y1SY2z7/ojKjVB8yqw==,type:str]
|
||||||
|
fever: ENC[AES256_GCM,data:Bn2ejbRLzZFoNVQ=,iv:oLILnbGWtbUYLxzO8+uY7dQsdpqjn3ZxR2ds603nOA4=,tag:8yMX6TRJcQIK+JTLq2g+4w==,type:str]
|
||||||
restic: ENC[AES256_GCM,data:u7xDJNe8F3fF9LY=,iv:swtX7j87JL3U0QVZMMeeGMKvASOddwEATq/XmqXALPA=,tag:dlmbo1VkZea/ZaNB7ISfow==,type:str]
|
restic: ENC[AES256_GCM,data:u7xDJNe8F3fF9LY=,iv:swtX7j87JL3U0QVZMMeeGMKvASOddwEATq/XmqXALPA=,tag:dlmbo1VkZea/ZaNB7ISfow==,type:str]
|
||||||
swarselmail: ENC[AES256_GCM,data:lLklyM5g10V169WSKYURHubCvO2eeMYVhsLjIrfl/dI=,iv:DdzbyjHv6GKeeX3f7p4/02mrctmCsxO2f/VIPf2rAd0=,tag:it7+PBO/kVbeAadHz5/YLg==,type:str]
|
swarselmail: ENC[AES256_GCM,data:lLklyM5g10V169WSKYURHubCvO2eeMYVhsLjIrfl/dI=,iv:DdzbyjHv6GKeeX3f7p4/02mrctmCsxO2f/VIPf2rAd0=,tag:it7+PBO/kVbeAadHz5/YLg==,type:str]
|
||||||
swarseluser: ENC[AES256_GCM,data:Yauk2ZYZ6bUB0RMdsghWhhGZtZPBJvlB1K2ZKe94OGlTiDSxi+PmLU6E0fA5514228yDU7+7Rmvspxmb2Bj0tHTh1/YXJjF0zg==,iv:dLXNOLujvJs6pAD4iFlmiZZ7Xd8IyLYkIM+o2SS5xGg=,tag:nJg5K5CP7sNkY5UFpf375A==,type:str]
|
swarseluser: ENC[AES256_GCM,data:Yauk2ZYZ6bUB0RMdsghWhhGZtZPBJvlB1K2ZKe94OGlTiDSxi+PmLU6E0fA5514228yDU7+7Rmvspxmb2Bj0tHTh1/YXJjF0zg==,iv:dLXNOLujvJs6pAD4iFlmiZZ7Xd8IyLYkIM+o2SS5xGg=,tag:nJg5K5CP7sNkY5UFpf375A==,type:str]
|
||||||
|
|
@ -83,8 +84,8 @@ sops:
|
||||||
a3VncGhOYkdZY1NtZlI0bllkQ1d0aVUKkkI0QF0NMAT1eZeddlRxQstEodH8thuv
|
a3VncGhOYkdZY1NtZlI0bllkQ1d0aVUKkkI0QF0NMAT1eZeddlRxQstEodH8thuv
|
||||||
QaXjRtUnzoAsLife63EDLsUN71XGlQzY5Gv/Ovi46YqF/CHN9QplGQ==
|
QaXjRtUnzoAsLife63EDLsUN71XGlQzY5Gv/Ovi46YqF/CHN9QplGQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-10-19T22:44:11Z"
|
lastmodified: "2024-12-16T16:58:01Z"
|
||||||
mac: ENC[AES256_GCM,data:WkszgL1GEtg4x8mepLPiUcWukbxbbV2GX74ie0GPGpKN9J28XXrkxG8RhHSaWhAJkW3OQwchh+ZzUpIpAceJTfP/SpmjC87Rt53GjxmJnO4JmarVnMZSFG1aYVT+AWxCCMvScCZRM3MFY1f8I7r6G6m5DCVtba+3ypKj/+AgDJc=,iv:1ZtoDaFPBQT8iInL5zmBmoLTavqwP/IF/plcDvwv44M=,tag:A0W0261XwBip88JRMW24dQ==,type:str]
|
mac: ENC[AES256_GCM,data:lCviR1wZSczhqqjGztecB5XAYjHSh7rEtk0ffKkcAHkiCm8Lefc288MiM8pvxPqLUANHdfick9uMQqdUEgl25fuk7T62IoFOfXSS9gN9xpiOjw0C72gZmomhZ/IOYFtcw77jrS5C2FmXRBjCS/fvaOO41liLg/KYJQdnyT6D0OA=,iv:AOuzPidkMEDBgym8hOimLabQJ6JpxAyggfa6w2I1rWE=,tag:paR5w7yT7vpORfkiMcHgag==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2024-09-25T07:33:58Z"
|
- created_at: "2024-09-25T07:33:58Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,8 @@ swarseluser: ENC[AES256_GCM,data:XvmOHYFNhb/bAYAZ/kmUWbbmRy/WrxSYri/Y5k+SH4N7ZIj
|
||||||
nextcloudadminpass: ENC[AES256_GCM,data:ZOCsu4/ijfheBfY9ZR5DBXSB,iv:bNlTLKQblnt2eYJqVgXwCaGAyAw2yhlb9Whsz0LBhm4=,tag:VQAWP/b8IghzXDFLJxXZ4Q==,type:str]
|
nextcloudadminpass: ENC[AES256_GCM,data:ZOCsu4/ijfheBfY9ZR5DBXSB,iv:bNlTLKQblnt2eYJqVgXwCaGAyAw2yhlb9Whsz0LBhm4=,tag:VQAWP/b8IghzXDFLJxXZ4Q==,type:str]
|
||||||
grafanaadminpass: ENC[AES256_GCM,data:TBu0WOdvE+9CAH8EVm8=,iv:/usKOYscSXpo8tiSV/Las9eucBeYnpwG5DM9gJg8bfU=,tag:/LZqwuPWQyjSZURnsqq3hA==,type:str]
|
grafanaadminpass: ENC[AES256_GCM,data:TBu0WOdvE+9CAH8EVm8=,iv:/usKOYscSXpo8tiSV/Las9eucBeYnpwG5DM9gJg8bfU=,tag:/LZqwuPWQyjSZURnsqq3hA==,type:str]
|
||||||
prometheusadminpass: ENC[AES256_GCM,data:NYUbSnAl0f3FUtvCjvJHFr2wMRsVsbVIeg==,iv:TP4NMwJsft8aEixxJBJCX/0I6BJVBnltFYJDKuXq1hM=,tag:yMY+KZsRjbn8ItgKgjzqSA==,type:str]
|
prometheusadminpass: ENC[AES256_GCM,data:NYUbSnAl0f3FUtvCjvJHFr2wMRsVsbVIeg==,iv:TP4NMwJsft8aEixxJBJCX/0I6BJVBnltFYJDKuXq1hM=,tag:yMY+KZsRjbn8ItgKgjzqSA==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:QnIF/xhWguX5tw==,iv:yTUBtPaZk6BXi+SC1P/OOtnc2x9UZ/jXirD5oaxhyQY=,tag:c33L5r5BaPZN6zkwduBCwQ==,type:comment]
|
||||||
|
fresh: ENC[AES256_GCM,data:aPF8D96BvgDXhcc=,iv:Ubq3/sUmBipRanLgkAXXeAfXAz51AuR+NojMifsy8S0=,tag:mHf0YYYxulLXAIByqmnOsA==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
|
@ -50,8 +52,8 @@ sops:
|
||||||
SHJMUFJSeGRQcTIyU1U5RXkvQi9NMzQKm8SP9jQ4fuIuddzqP+m6EJg7+zkX53jz
|
SHJMUFJSeGRQcTIyU1U5RXkvQi9NMzQKm8SP9jQ4fuIuddzqP+m6EJg7+zkX53jz
|
||||||
bHaMPuLTaIHaaSDlVYe5stpyPDlZQ0NSGWV+HaIXkLZNfNM71hWYBQ==
|
bHaMPuLTaIHaaSDlVYe5stpyPDlZQ0NSGWV+HaIXkLZNfNM71hWYBQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-10-18T21:26:59Z"
|
lastmodified: "2024-12-16T14:43:24Z"
|
||||||
mac: ENC[AES256_GCM,data:wvK/aa9ninmY+S66u6f2sP0bWV3bUbuEPS4J80M8YCA2J1p9mU5ndFWL6DSmzCslhO99a6+Y/AalLhkjVJn1Ok8CcxhCgbaSbZ7zniGe7sY0pK/6pPdSEHEzljNzx0M6KCoHeD9/a4VY5kPeq1t+IjqdtIBV3xhP0/SMaeypk0M=,iv:jTGcGnDZln3KZc6G8x0ENk6m5Zwq3Z+CafyATL4WbIc=,tag:i0ii+jwnyDCLxS07K82oIg==,type:str]
|
mac: ENC[AES256_GCM,data:vDSegkEgy255XQ3NYqfZXOxV21QYIPeEmM5U5B51PQBcs13CEMwTcKx26wDznsUrqU/N9xnpHaZlYBYjCqul7uhuLG6Le3a30b4la8MNtZRsIoRJqhVlim1II+X/kcrm3RlCJ6r8g8AjAj4SDXdamkXQ02+ckeS8wwNhREBbZsA=,iv:Ik/PE5mJQY+x1xvmJGE3AWK2sVUqYGNcz4zYasxZBaU=,tag:rBrILXohBC9T47PY3sYwYg==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2024-09-23T20:03:08Z"
|
- created_at: "2024-09-23T20:03:08Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ sops:
|
||||||
ckc3MmZZTVFyRGFaTVlVM29ra3JkbzQKNYhBd9oMS/jn2Oqyx9LpqJjQUx2mEZ/B
|
ckc3MmZZTVFyRGFaTVlVM29ra3JkbzQKNYhBd9oMS/jn2Oqyx9LpqJjQUx2mEZ/B
|
||||||
aUNbenlCRr8KCc+yBXuTyI31LPXJ3YHsI1cfp1K/LGzCY2F0uk4rSw==
|
aUNbenlCRr8KCc+yBXuTyI31LPXJ3YHsI1cfp1K/LGzCY2F0uk4rSw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-12-15T16:12:07Z"
|
lastmodified: "2024-12-16T17:08:33Z"
|
||||||
mac: ENC[AES256_GCM,data:hMx5qjmUgTS6cOzO2e0tFB3DwJzbruwPn0J1TIa6XbmgvcDThiOAxsfKRQUrc/uWd/1Ehke+VPdt77d8hgUoe+NuUQY592Lx78DhfdaVQkwR62MfKf1Y3unRjjGjILIK935qcesTPXm10hRUenxf8r0eXGMlYnFn3pLTTVOD7mw=,iv:FGdr2xJCRYGAlNt0r0Zkt/Abre/pCXebM6o+VkTcB7I=,tag:aeRgsVSNH4QE6S69sgUXCQ==,type:str]
|
mac: ENC[AES256_GCM,data:+2WUsrKqCEviPWhNo+Rx818gkaVLJUsCnnR+kdCgIQ0il9I3Kc3e8ZdA1TYX0cIe8D3pGswBx0PecnNiduSeVMAQL65AFUSzFbX9OA03Xs+SVVpmfuzK1xaRNRrl4ILsGyQV+qHGSjVHILoEM+r4rBQ/iwQV9zj6Px9Zs8qdVcY=,iv:Qlm1LXXmE+y96JP55dsKELgDcyz7+Hm1HbOXktsyzuI=,tag:C6TWZSgpw/wX2jGC8/kmjg==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2024-02-01T01:06:36Z"
|
- created_at: "2024-02-01T01:06:36Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue