Compare commits

..

16 commits

Author SHA1 Message Date
8a57d1ac91 flake.lock: Update
Some checks failed
UPLOAD aarch64-linux.sisko
DOWNLOAD aarch64-linux.sisko
CACHIX aarch64-linux.sisko
ATTIC aarch64-linux.sisko
EVAL x86_64-linux.picard
BUILD x86_64-linux.picard
/ test (push) Successful in 1m32s
Flake lock file updates:

• Updated input 'catppuccin':
    'github:catppuccin/nix/7413a65b3ed37964c16e2fbe20145b55bcda8281' (2024-12-30)
  → 'github:catppuccin/nix/63290ea1d2a28e65195017ed78a81cfc242ef0df' (2024-12-31)
• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/eab2ed354a88a6870ffca4980abb470bba0e4452' (2024-12-30)
  → 'github:nix-community/emacs-overlay/7dc139dffc4ad8301c639210a00d993e1c158069' (2024-12-31)
• Updated input 'nixThePlanet/nixpkgs':
    'github:nixos/nixpkgs/88195a94f390381c6afcdaa933c2f6ff93959cb4' (2024-12-29)
  → 'github:nixos/nixpkgs/6df37dc6a77654682fe9f071c62b4242b5342e04' (2023-12-22)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/9e09d30a644c57257715902efbb3adc56c79cf28' (2024-12-25)
  → 'github:numtide/treefmt-nix/56c0ecd79f7ba01a0ec027da015df751d6ca3ae7' (2024-12-31)
2024-12-31 15:01:09 +00:00
a3d1233ad1
Torrents readable by everybody by default
Some checks failed
EVAL x86_64-linux.picard
BUILD x86_64-linux.picard
UPLOAD x86_64-linux.picard
DOWNLOAD x86_64-linux.picard
CACHIX x86_64-linux.picard
ATTIC x86_64-linux.picard
/ test (push) Successful in 2m13s
2024-12-31 14:36:58 +01:00
37e55bb342
Expose webdav both on the LAN and the VPN 2024-12-31 14:36:38 +01:00
64425bd447
Fix permissions before starting nfs-server 2024-12-31 14:36:15 +01:00
3df87b1a12
Format
Some checks failed
EVAL x86_64-linux.picard
BUILD x86_64-linux.picard
UPLOAD x86_64-linux.picard
DOWNLOAD x86_64-linux.picard
CACHIX x86_64-linux.picard
ATTIC x86_64-linux.picard
/ test (push) Successful in 10m26s
2024-12-31 10:26:34 +01:00
1b24f5f065
element-desktop-wayland -> element-desktop
Some checks failed
/ test (push) Has been cancelled
2024-12-31 10:25:00 +01:00
cae8bb47ce
Try fixing tremotesf start when booting 2024-12-31 10:24:23 +01:00
7ffbe8ac24
Disable guix 2024-12-31 10:24:16 +01:00
3c92306ca3
Downgrade to Gerbera from Nixpkgs Stable (unstable is broken for aarch64-linux) 2024-12-31 10:23:54 +01:00
d0efa40c63
Downgrade to Emacs Unstable from Emacs Git (master) 2024-12-31 10:23:34 +01:00
9116e95a03
Remove pkgsStable argument 2024-12-31 10:23:18 +01:00
57be38c32f
Update flake inputs 2024-12-31 10:23:00 +01:00
6b795f7557
Enable jellyfin on sisko
Some checks failed
/ test (push) Failing after 1h51m2s
2024-12-30 17:06:24 +01:00
16bcd5e813
Enable solidity-mode on Emacs 2024-12-30 17:05:58 +01:00
49c94bcd62
Re-install copilot on emacs 2024-12-30 17:05:53 +01:00
23e3c53693
Add copilot-node-server to global shell 2024-12-30 17:04:50 +01:00
22 changed files with 130 additions and 64 deletions

85
flake.lock generated
View file

@ -32,11 +32,11 @@
"nuscht-search": "nuscht-search" "nuscht-search": "nuscht-search"
}, },
"locked": { "locked": {
"lastModified": 1735569271, "lastModified": 1735634086,
"narHash": "sha256-4CIClg4LMcmcCRIXSTcHDe6ujPzlxMtbCjMH7ntV784=", "narHash": "sha256-DTcB/kBZULyJztXXnH3OVF5LHLl+O670DuLZZNUMnNo=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "7413a65b3ed37964c16e2fbe20145b55bcda8281", "rev": "63290ea1d2a28e65195017ed78a81cfc242ef0df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -156,11 +156,11 @@
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1735550039, "lastModified": 1735635676,
"narHash": "sha256-hIyQM5hqBpOfvb6lMHl+707pg7iwBJKfbsANEZFhV+0=", "narHash": "sha256-mr3Slf2LDg6YMjQcrNdj/i8tQK4p7NIYVshVPBgtYBM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "bc19dc80cd2987406a19b5c644e0400c4cf67e33", "rev": "7dc139dffc4ad8301c639210a00d993e1c158069",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -688,16 +688,15 @@
"lix": { "lix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1728951119, "lastModified": 1735572323,
"narHash": "sha256-vUBgL8zJBDyj2serxdEVbNqe6pBN4YgWwhtg3XP8mpQ=", "narHash": "sha256-Wjt+PK15IdaOUoI0sgsRzaNMxKQGSROLe9sOd44+fwM=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "f6077314fa6aff862758095bb55fe844e9162a1d", "rev": "5c7ea4f446de58aa64f78087bb4ec26b9c4111aa",
"revCount": 16344, "revCount": 16600,
"type": "git", "type": "git",
"url": "https://git@git.lix.systems/lix-project/lix" "url": "https://git@git.lix.systems/lix-project/lix"
}, },
"original": { "original": {
"rev": "f6077314fa6aff862758095bb55fe844e9162a1d",
"type": "git", "type": "git",
"url": "https://git@git.lix.systems/lix-project/lix" "url": "https://git@git.lix.systems/lix-project/lix"
} }
@ -883,9 +882,7 @@
"inputs": { "inputs": {
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_4",
"hercules-ci-effects": "hercules-ci-effects", "hercules-ci-effects": "hercules-ci-effects",
"nixpkgs": [ "nixpkgs": "nixpkgs_8",
"nixpkgs"
],
"osx-kvm": "osx-kvm" "osx-kvm": "osx-kvm"
}, },
"locked": { "locked": {
@ -1013,11 +1010,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1735412871, "lastModified": 1735531152,
"narHash": "sha256-Qoz0ow6jDGUIBHxduc7Y1cjYFS71tvEGJV5Src/mj98=", "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9f94733f93e4fe6e82f516efae007096e4ab5a21", "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1059,6 +1056,20 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_10": {
"locked": {
"lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd901ef4bf93499374c5af385b2943f5801c0833",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1734424634, "lastModified": 1734424634,
@ -1153,6 +1164,22 @@
} }
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": {
"lastModified": 1703255338,
"narHash": "sha256-Z6wfYJQKmDN9xciTwU3cOiOk+NElxdZwy/FiHctCzjU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6df37dc6a77654682fe9f071c62b4242b5342e04",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1735471104, "lastModified": 1735471104,
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
@ -1168,20 +1195,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": {
"locked": {
"lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd901ef4bf93499374c5af385b2943f5801c0833",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nmd": { "nmd": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -1348,7 +1361,7 @@
"nixDarwin": "nixDarwin", "nixDarwin": "nixDarwin",
"nixThePlanet": "nixThePlanet", "nixThePlanet": "nixThePlanet",
"nixosHardware": "nixosHardware", "nixosHardware": "nixosHardware",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_9",
"treefmt-nix": "treefmt-nix_3", "treefmt-nix": "treefmt-nix_3",
"vscode-server": "vscode-server" "vscode-server": "vscode-server"
} }
@ -1521,11 +1534,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735135567, "lastModified": 1735653038,
"narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", "narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "9e09d30a644c57257715902efbb3adc56c79cf28", "rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1537,7 +1550,7 @@
"vscode-server": { "vscode-server": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1729422940, "lastModified": 1729422940,

View file

@ -28,16 +28,13 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
dream2nix.url = "github:nix-community/dream2nix"; dream2nix.url = "github:nix-community/dream2nix";
nixThePlanet = { nixThePlanet.url = "github:MatthewCroughan/NixThePlanet"; # not following nixpkgs on purpose
url = "github:MatthewCroughan/NixThePlanet/";
inputs.nixpkgs.follows = "nixpkgs";
};
nixDarwin = { nixDarwin = {
url = "github:LnL7/nix-darwin"; url = "github:LnL7/nix-darwin";
}; };
nix-on-droid.url = "github:nix-community/nix-on-droid"; nix-on-droid.url = "github:nix-community/nix-on-droid";
lix = { lix = {
url = "git+https://git@git.lix.systems/lix-project/lix?rev=f6077314fa6aff862758095bb55fe844e9162a1d"; # FIXME update url = "git+https://git@git.lix.systems/lix-project/lix"; # FIXME update
flake = false; flake = false;
}; };
lix-module = { lix-module = {

View file

@ -1,7 +1,6 @@
{ pkgs, ... }: { pkgs, lib, ... }:
{ {
# home.packages = [pkgs.schildichat-desktop]; home.packages = [ pkgs.element-desktop ];
home.packages = [ pkgs.element-desktop-wayland ];
systemd.user.services.element-desktop = { systemd.user.services.element-desktop = {
Install.WantedBy = [ "graphical-session.target" ]; Install.WantedBy = [ "graphical-session.target" ];
@ -12,8 +11,7 @@
}; };
Service = { Service = {
# ExecStart = "${pkgs.schildichat-desktop}/bin/schildichat-desktop"; # TODO I preferred SchildiChat but it was removed from nixpkgs becuase unsafe ExecStart = lib.getExe pkgs.element-desktop;
ExecStart = "${pkgs.element-desktop-wayland}/bin/element-desktop";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = 3; RestartSec = 3;
}; };

View file

@ -46,6 +46,7 @@ in
nodejs_20 nodejs_20
qadwaitadecorations qadwaitadecorations
kdePackages.qtwayland kdePackages.qtwayland
copilot-node-server
] ]
++ (with hunspellDicts; [ ++ (with hunspellDicts; [
en_US-large en_US-large

View file

@ -171,6 +171,13 @@
(indent-bars-prefer-character 't) ;; so it works also in terminal (indent-bars-prefer-character 't) ;; so it works also in terminal
) )
(use-package copilot
:custom
(copilot-max-char -1)
(copilot-indent-offset-warning-disable 't)
:hook (prog-mode org-mode)
:bind (("C-<tab>" . copilot-accept-completion)))
(use-package diredfl (use-package diredfl
:config (diredfl-global-mode)) :config (diredfl-global-mode))
@ -508,6 +515,15 @@
(eglot-ensure)))) (eglot-ensure))))
:mode "\\.py\\'") :mode "\\.py\\'")
(use-package solidity-mode
:hook ((solidity-mode . (lambda ()
(require 'eglot)
(add-to-list 'eglot-server-programs
'(solidity-mode . ("nomicfoundation-solidity-language-server" "--stdio")))
(eglot-ensure))))
:mode "\\.sol\\'")
(use-package typescript-ts-mode (use-package typescript-ts-mode
:hook ((typescript-ts-mode . (lambda () :hook ((typescript-ts-mode . (lambda ()
(require 'eglot) (require 'eglot)

View file

@ -41,7 +41,8 @@ in
extraConfig.url = { extraConfig.url = {
"ssh://git@github.com/".insteadOf = "https://github.com/"; "ssh://git@github.com/".insteadOf = "https://github.com/";
# Workaround for https://github.com/rust-lang/cargo/issues/3381#issuecomment-1193730972 # Workaround for https://github.com/rust-lang/cargo/issues/3381#issuecomment-1193730972
"https://github.com/rust-lang/crates.io-index".insteadOf = "https://github.com/rust-lang/crates.io-index"; "https://github.com/rust-lang/crates.io-index".insteadOf =
"https://github.com/rust-lang/crates.io-index";
"https://github.com/RustSec/advisory-db".insteadOf = "https://github.com/RustSec/advisory-db"; "https://github.com/RustSec/advisory-db".insteadOf = "https://github.com/RustSec/advisory-db";
}; };

View file

@ -36,7 +36,8 @@ in
",l" = ''config-cycle spellcheck.languages [" it-IT "] [" en-US "]''; ",l" = ''config-cycle spellcheck.languages [" it-IT "] [" en-US "]'';
}; };
insert = { insert = {
"<Ctrl-p>" = ''spawn --userscript qute-pass --dmenu-invocation '${pkgs.fuzzel}/bin/fuzzel --background-color=253559cc --border-radius=5 --border-width=0 -d' --password-only --unfiltered''; "<Ctrl-p>" =
''spawn --userscript qute-pass --dmenu-invocation '${pkgs.fuzzel}/bin/fuzzel --background-color=253559cc --border-radius=5 --border-width=0 -d' --password-only --unfiltered'';
}; };
}; };
settings = { settings = {

View file

@ -110,7 +110,8 @@
in in
lib.mkOptionDefault { lib.mkOptionDefault {
"${modifier}+x" = "exec emacsclient -c"; "${modifier}+x" = "exec emacsclient -c";
"${modifier}+y" = "exec ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c"; "${modifier}+y" =
"exec ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c";
"${modifier}+b" = "exec qutebrowser"; "${modifier}+b" = "exec qutebrowser";
"${modifier}+s" = "exec ${screenshotScript}"; "${modifier}+s" = "exec ${screenshotScript}";
# "${modifier}+g" = "exec ${screenrecordingScript}"; # FIXME # "${modifier}+g" = "exec ${screenrecordingScript}"; # FIXME

View file

@ -16,7 +16,7 @@
}; };
Service = { Service = {
ExecStart = "${lib.getExe pkgs.tremotesf} --minimized"; ExecStart = "${lib.getExe' pkgs.coreutils "sleep"} 5 && ${lib.getExe pkgs.tremotesf} --minimized";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = 3; RestartSec = 3;
}; };

View file

@ -287,7 +287,6 @@ in
_module.args = { _module.args = {
age = config.age or { }; age = config.age or { };
fleetFlake = self; fleetFlake = self;
pkgsStable = inputs.nixpkgsStable.legacyPackages.${pkgs.system};
}; };
}; };
} }

View file

@ -39,7 +39,6 @@
"sunshine" "sunshine"
"mount-sisko" "mount-sisko"
"adb" "adb"
"guix"
"prometheus-exporters" "prometheus-exporters"
"promtail" "promtail"
] ]

View file

@ -31,6 +31,7 @@
"paperless" "paperless"
"syncthing" "syncthing"
"atticd" "atticd"
"jellyfin"
] ]
++ [ ++ [
./disko.nix ./disko.nix

View file

@ -14,8 +14,7 @@
"vpn.aciceri.dev" "vpn.aciceri.dev"
"photos.aciceri.dev" "photos.aciceri.dev"
"status.aciceri.dev" "status.aciceri.dev"
"paper.aciceri.dev" "jelly.aciceri.dev"
"cloud.aciceri.dev"
]; ];
apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path; apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path;
}; };

View file

@ -83,7 +83,8 @@ in
"git.aciceri.dev" = { "git.aciceri.dev" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/".proxyPass = "http://127.0.0.1:${builtins.toString config.services.forgejo.settings.server.HTTP_PORT}"; locations."/".proxyPass =
"http://127.0.0.1:${builtins.toString config.services.forgejo.settings.server.HTTP_PORT}";
}; };
}; };
} }

View file

@ -1,7 +1,21 @@
{ config, ... }:
{ {
services.jellyfin = { services.jellyfin = {
enable = true; enable = true;
openFirewall = true;
}; };
users.users.jellyfin.extraGroups = [ "transmission" ]; users.users.jellyfin.extraGroups = [ "transmission" ];
environment.persistence."/persist".directories = [
config.services.jellyfin.dataDir
];
services.nginx.virtualHosts = {
"jelly.aciceri.dev" = {
enableACME = true;
forceSSL = true;
locations."/".proxyPass = "http://127.0.0.1:8096";
};
};
} }

View file

@ -29,7 +29,8 @@ in
"matrix.aciceri.dev" = { "matrix.aciceri.dev" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
locations."/".proxyPass = "http://127.0.0.1:${builtins.toString (lib.head config.services.matrix-synapse.settings.listeners).port}"; locations."/".proxyPass =
"http://127.0.0.1:${builtins.toString (lib.head config.services.matrix-synapse.settings.listeners).port}";
locations."/_matrix".proxyPass = "http://localhost:8008"; locations."/_matrix".proxyPass = "http://localhost:8008";
locations."/_synapse/client".proxyPass = "http://localhost:8008"; locations."/_synapse/client".proxyPass = "http://localhost:8008";
}; };

View file

@ -1,6 +1,11 @@
{ pkgs, ... }:
{ {
services.mediatomb = { services.mediatomb = {
enable = true; enable = true;
# FIXME remove when fixed
package =
(builtins.getFlake "github:NixOs/nixpkgs/3ffbbdbac0566a0977da3d2657b89cbcfe9a173b")
.legacyPackages.${pkgs.stdenv.system}.gerbera;
openFirewall = true; openFirewall = true;
serverName = "Sisko"; serverName = "Sisko";
mediaDirectories = [ mediaDirectories = [

View file

@ -24,9 +24,8 @@ in
}; };
}; };
services.openssh.knownHosts."${ services.openssh.knownHosts."${host}".publicKey =
host "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs";
}".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs";
services.postgresqlBackup = { services.postgresqlBackup = {
enable = true; enable = true;

View file

@ -16,15 +16,19 @@
''; '';
}; };
systemd.services.nfs-server.preStart = ''
chmod -R 775 /export/hd/torrent
'';
services.webdav = { services.webdav = {
enable = true; enable = true;
settings = { settings = {
address = "10.1.1.2"; # accessible only in LAN, used by Kodi installed on the TV address = "0.0.0.0";
port = 9999; port = 9999;
scope = "/mnt/hd/torrent"; scope = "/mnt/hd/torrent";
modify = false; modify = false;
auth = false; # TODO should we enable authentication? It's only reachable in LAN auth = false;
debug = true; debug = true;
users = [ ]; users = [ ];
}; };

View file

@ -39,8 +39,8 @@
]; ];
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /mnt/hd/torrent 770 transmission transmission" "d /mnt/hd/torrent 774 transmission transmission"
"d /mnt/hd/torrent/.incomplete 770 transmission transmission" "d /mnt/hd/torrent/.incomplete 774 transmission transmission"
]; ];
environment.persistence."/persist".directories = [ environment.persistence."/persist".directories = [

View file

@ -19,7 +19,7 @@ let
cp $f $out/"libtree-sitter-$(basename $f)" cp $f $out/"libtree-sitter-$(basename $f)"
done done
''; '';
emacsWithoutPackages = pkgs'.emacs-git.override { emacsWithoutPackages = pkgs'.emacs-unstable.override {
withSQLite3 = true; withSQLite3 = true;
withWebP = true; withWebP = true;
withPgtk = true; withPgtk = true;

View file

@ -44,6 +44,22 @@ let
}; };
deps = [ elpaPackages.heap ]; deps = [ elpaPackages.heap ];
}; };
copilot = buildEmacsPackage {
name = "copilot";
src = pkgs.fetchFromGitHub {
owner = "copilot-emacs";
repo = "copilot.el";
rev = "b7bff7b934837744688fd74191ecffb83b3bcc05";
hash = "sha256-MEsjXQIeiTI6NXN5rTW7HfFPC18IZnhAssma2BZa0ks=";
};
deps = with epkgs; [
s
dash
editorconfig
jsonrpc
f
];
};
}; };
# *List* containing emacs packages from (M)ELPA # *List* containing emacs packages from (M)ELPA