Adding vicinae and various refactors

This commit is contained in:
Lyes Saadi 2026-02-26 12:13:24 +01:00
parent e2946c9fb7
commit 32720ae712
Signed by: lyes
GPG key ID: 55A1D803917CF39A
10 changed files with 225 additions and 91 deletions

117
flake.lock generated
View file

@ -47,11 +47,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770681688, "lastModified": 1772008782,
"narHash": "sha256-bGVEgZMxmw9N+IKp5nG+2nyKFezdPWYDxyxXkYW+d2M=", "narHash": "sha256-cjfHydg0gwFatbISETt2HbCsBBQ7FmRFxlmEH+V/NGE=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "e5d0a0572da507acfe774e0f86ad541f5daab97f", "rev": "00ab7888d765e124ccd7c61792d264d598077d20",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -109,11 +109,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769524058, "lastModified": 1771881364,
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", "narHash": "sha256-A5uE/hMium5of/QGC6JwF5TGoDAfpNtW00T0s9u/PN8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", "rev": "a4cb7bf73f264d40560ba527f9280469f1f081c6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -245,11 +245,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770654520, "lastModified": 1771851181,
"narHash": "sha256-mg5WZMIPGsFu9MxSrUcuJUPMbfMsF77el5yb/7rc10k=", "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6c4fdbe1ad198fac36c320fd45c5957324a80b8e", "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -267,11 +267,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769872935, "lastModified": 1771756436,
"narHash": "sha256-07HMIGQ/WJeAQJooA7Kkg1SDKxhAiV6eodvOwTX6WKI=", "narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f4ad5068ee8e89e4a7c2e963e10dd35cd77b37b7", "rev": "5bd3589390b431a63072868a90c0f24771ff4cbb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -335,11 +335,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1770631810, "lastModified": 1771969195,
"narHash": "sha256-b7iK/x+zOXbjhRqa+XBlYla4zFvPZyU5Ln2HJkiSnzc=", "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "2889685785848de940375bf7fea5e7c5a3c8d502", "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -383,11 +383,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1770562336, "lastModified": 1771848320,
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f", "rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -415,11 +415,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1770562336, "lastModified": 1771848320,
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f", "rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -431,11 +431,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1769461804, "lastModified": 1771369470,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -476,6 +476,7 @@
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"pin-factorio": "pin-factorio", "pin-factorio": "pin-factorio",
"vicinae-extensions": "vicinae-extensions",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
}, },
@ -509,6 +510,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
@ -527,17 +543,64 @@
"type": "github" "type": "github"
} }
}, },
"vicinae": {
"inputs": {
"nixpkgs": [
"vicinae-extensions",
"nixpkgs"
],
"systems": [
"vicinae-extensions",
"systems"
]
},
"locked": {
"lastModified": 1768856963,
"narHash": "sha256-u5bWDuwk6oieTnvm1YjNotcYK8iJSddH5+S68+X4TSc=",
"owner": "vicinaehq",
"repo": "vicinae",
"rev": "934bc0ad47be6dbd6498a0dac655c4613fd0ab27",
"type": "github"
},
"original": {
"owner": "vicinaehq",
"repo": "vicinae",
"type": "github"
}
},
"vicinae-extensions": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_3",
"vicinae": "vicinae"
},
"locked": {
"lastModified": 1771358594,
"narHash": "sha256-KwNv+THKbNUey10q26NZPDMSzYTObRHaSDr81QP9CPY=",
"owner": "vicinaehq",
"repo": "extensions",
"rev": "cf30b80f619282d45b1748eb76e784a4f875bb01",
"type": "github"
},
"original": {
"owner": "vicinaehq",
"repo": "extensions",
"type": "github"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1770707140, "lastModified": 1772005916,
"narHash": "sha256-3ZRA2+o5p1+FKWx988WbwB1SQ2Mz5aL95zxhL5iD+O0=", "narHash": "sha256-aFYnT0gStcu1PVTh2Xzd0n8PIEKmqvTgrVkpv49qc6M=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "db14437f8667f7f09784e2a4e73c105bdc1c7023", "rev": "044299e83752f78f9fc5d6a648f7f3dd84bb3b18",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -16,6 +16,11 @@
zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.url = "github:0xc000022070/zen-browser-flake";
mozilla.url = "github:andersk/nixpkgs-mozilla/channel"; mozilla.url = "github:andersk/nixpkgs-mozilla/channel";
vicinae-extensions = {
url = "github:vicinaehq/extensions";
inputs.nixpkgs.follows = "nixpkgs";
};
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
copyparty = { copyparty = {
@ -40,7 +45,7 @@
pin-factorio.url = "github:NixOS/nixpkgs?rev=c5ae371f1a6a7fd27823bc500d9390b38c05fa55"; pin-factorio.url = "github:NixOS/nixpkgs?rev=c5ae371f1a6a7fd27823bc500d9390b38c05fa55";
}; };
outputs = { self, nixpkgs, mailserver, copyparty, deploy-rs, ... }@inputs: { outputs = { self, nixpkgs, deploy-rs, ... }@inputs: {
nixosConfigurations = { nixosConfigurations = {
# Framework Computer # Framework Computer
piaf = nixpkgs.lib.nixosSystem { piaf = nixpkgs.lib.nixosSystem {
@ -53,11 +58,7 @@
zora = nixpkgs.lib.nixosSystem { zora = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [ ./hosts/zora ];
./hosts/zora
mailserver.nixosModules.default
copyparty.nixosModules.default
];
}; };
# Desktop ISO # Desktop ISO

View file

@ -39,6 +39,7 @@ in
wofi wofi
wlogout wlogout
slurp slurp
vicinae
]; ];
}; };

View file

@ -81,7 +81,8 @@
# virtualisation.virtualbox.host.enable = true; # virtualisation.virtualbox.host.enable = true;
# virtualisation.virtualbox.host.enableExtensionPack = true; # virtualisation.virtualbox.host.enableExtensionPack = true;
# users.extraGroups.vboxusers.members = [ "lyes" ]; # users.extraGroups.vboxusers.members = [ "lyes" ];
# virtualisation.waydroid.enable = true; virtualisation.waydroid.enable = true;
virtualisation.waydroid.package = pkgs.waydroid-nftables;
# Containers # Containers
virtualisation.containers.enable = true; virtualisation.containers.enable = true;

View file

@ -1,6 +1,10 @@
{ config, copyparty, ... }: { config, copyparty, ... }:
{ {
imports = [
copyparty.nixosModules.default
];
services.copyparty = { services.copyparty = {
enable = true; enable = true;

View file

@ -1,6 +1,10 @@
{ config, ... }: { config, mailserver, ... }:
{ {
imports = [
mailserver.nixosModules.default
];
mailserver = { mailserver = {
enable = true; enable = true;
stateVersion = 3; stateVersion = 3;

View file

@ -23,7 +23,8 @@ in
swaynag.enable = true; swaynag.enable = true;
config = { config = {
startup = [ startup = [
{ command = "poweralertd"; } { command = "${pkgs.poweralertd}/bin/poweralertd"; }
# { command = "${pkgs.vicinae}/bin/vicinae server"; }
{ {
command = '' command = ''
swayidle -w \ swayidle -w \
@ -35,7 +36,7 @@ in
]; ];
modifier = "Mod4"; modifier = "Mod4";
menu = "${pkgs.wofi}/bin/wofi --show drun"; menu = "${pkgs.vicinae}/bin/vicinae toggle";
# Switch to ghostty ? # Switch to ghostty ?
terminal = "${pkgs.ghostty}/bin/ghostty"; terminal = "${pkgs.ghostty}/bin/ghostty";
@ -610,6 +611,52 @@ in
}; };
programs = { programs = {
vicinae = {
enable = true;
systemd = {
enable = true;
autoStart = true;
# environment = {
# USE_LAYER_SHELL = 1;
# };
};
# useLayerShell = false;
settings = {
close_on_focus_loss = false;
consider_preedit = true;
pop_to_root_on_close = true;
launcher_window.layer_shell.enabled = false;
theme = {
light = {
name = "rose-pine-moon";
};
dark = {
name = "rose-pine-moon";
};
};
};
extensions =
let
extsrc = pkgs.fetchFromGitHub {
owner = "vicinaehq";
repo = "extensions";
sha256 = "sha256-KwNv+THKbNUey10q26NZPDMSzYTObRHaSDr81QP9CPY=";
rev = "cf30b80f619282d45b1748eb76e784a4f875bb01";
};
in
lib.map
(ext:
config.lib.vicinae.mkExtension {
name = ext;
src = extsrc + "/extensions/" + ext;
}
)
[
"bluetooth"
"nix"
"power-profile"
];
};
wofi = { wofi = {
enable = true; enable = true;
settings = {}; settings = {};

View file

@ -35,53 +35,66 @@
"x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop;"; "x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop;";
"x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop;"; "x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop;";
}; };
defaultApplications = {
"text/plain" = "org.gnome.TextEditor.desktop"; defaultApplications =
"text/markdown" = "org.gnome.TextEditor.desktop"; let
"text/json" = "org.gnome.TextEditor.desktop"; web = "firefox.desktop";
"text/html" = "firefox.desktop"; mail = "thunderbird.desktop";
"text/xml" = "org.gnome.TextEditor.desktop"; editor = "org.gnome.TextEditor.desktop";
"image/avif" = "org.gnome.Loupe.desktop"; image = "org.gnome.Loupe.desktop";
"image/png" = "org.gnome.Loupe.desktop"; video = "mpv.desktop";
"image/jpeg" = "org.gnome.Loupe.desktop"; audio = "mpv.desktop";
"image/svg+xml" = "org.gnome.Loupe.desktop"; office-writer = "writer.desktop";
"image/gif" = "org.gnome.Loupe.desktop"; office-document = "impress.desktop";
"image/webp" = "org.gnome.Loupe.desktop"; office-spreadsheet = "calc.desktop";
"audio/mpeg" = "mpv.desktop"; in
"audio/aac" = "mpv.desktop"; {
"audio/webm" = "mpv.desktop"; "text/plain" = editor;
"audio/ogg" = "mpv.desktop"; "text/markdown" = editor;
"video/x-matroska" = "mpv.desktop"; "text/json" = editor;
"video/mp4" = "mpv.desktop"; "text/html" = web;
"video/webm" = "mpv.desktop"; "text/xml" = editor;
"video/ogg" = "mpv.desktop"; "image/avif" = image;
"image/png" = image;
"image/jpeg" = image;
"image/svg+xml" = image;
"image/gif" = image;
"image/webp" = image;
"audio/mpeg" = audio;
"audio/aac" = audio;
"audio/webm" = audio;
"audio/ogg" = audio;
"video/x-matroska" = video;
"video/mp4" = video;
"video/webm" = video;
"video/ogg" = video;
"application/pdf" = "org.gnome.Papers.desktop"; "application/pdf" = "org.gnome.Papers.desktop";
"application/msword" = "onlyoffice-desktopeditors.desktop"; "application/msword" = office-writer;
"application/vnd.ms-powerpoint" = "onlyoffice-desktopeditors.desktop"; "application/vnd.ms-powerpoint" = office-document;
"application/vnd.ms-excel" = "onlyoffice-desktopeditors.desktop"; "application/vnd.ms-excel" = office-spreadsheet;
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = "onlyoffice-desktopeditors.desktop"; "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = office-writer;
"application/vnd.openxmlformats-officedocument.presentationml.presentation" = "onlyoffice-desktopeditors.desktop"; "application/vnd.openxmlformats-officedocument.presentationml.presentation" = office-document;
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = "onlyoffice-desktopeditors.desktop"; "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = office-spreadsheet;
"application/vnd.oasis.opendocument.text" = "onlyoffice-desktopeditors.desktop"; "application/vnd.oasis.opendocument.text" = office-writer;
"application/vnd.oasis.opendocument.presentation" = "onlyoffice-desktopeditors.desktop"; "application/vnd.oasis.opendocument.presentation" = office-document;
"application/vnd.oasis.opendocument.spreadsheet" = "onlyoffice-desktopeditors.desktop"; "application/vnd.oasis.opendocument.spreadsheet" = office-spreadsheet;
"application/epub+zip" = "com.github.johnfactotum.Foliate.desktop"; "application/epub+zip" = "com.github.johnfactotum.Foliate.desktop";
"application/ogg" = "mpv.desktop"; "application/ogg" = audio;
"application/xml" = "org.gnome.TextEditor.desktop"; "application/xml" = editor;
"application/xhtml+xml" = "firefox.desktop"; "application/xhtml+xml" = web;
"application/x-extension-htm" = "firefox.desktop"; "application/x-extension-htm" = web;
"application/x-extension-html" = "firefox.desktop"; "application/x-extension-html" = web;
"application/x-extension-shtml" = "firefox.desktop"; "application/x-extension-shtml" = web;
"application/x-extension-xhtml" = "firefox.desktop"; "application/x-extension-xhtml" = web;
"application/x-extension-xht" = "firefox.desktop"; "application/x-extension-xht" = web;
"application/x-bittorrent" = "de.haeckerfelix.Fragments.desktop"; "application/x-bittorrent" = "de.haeckerfelix.Fragments.desktop";
"message/rfc822" = "thunderbird.desktop"; "message/rfc822" = mail;
"x-scheme-handler/mailto" = "thunderbird.desktop"; "x-scheme-handler/mailto" = mail;
"x-scheme-handler/mid" = "thunderbird.desktop"; "x-scheme-handler/mid" = mail;
"x-scheme-handler/discord" = "vesktop.desktop"; "x-scheme-handler/discord" = "vesktop.desktop";
"x-scheme-handler/http" = "firefox.desktop"; "x-scheme-handler/http" = web;
"x-scheme-handler/https" = "firefox.desktop"; "x-scheme-handler/https" = web;
"x-scheme-handler/chrome" = "firefox.desktop"; "x-scheme-handler/chrome" = web;
}; };
}; };
}; };

View file

@ -169,6 +169,7 @@ in {
packages = [ packages = [
# Internet # Internet
"net.waterfox.waterfox" "net.waterfox.waterfox"
"io.freetubeapp.FreeTube"
# Messaging # Messaging
"org.signal.Signal" "org.signal.Signal"

View file

@ -1,17 +1,16 @@
{ home-manager, config, ... }: { home-manager, config, inputs, ... }:
{ {
imports = imports = [
[
home-manager.nixosModules.default home-manager.nixosModules.default
]; ];
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.lyes = { ... }: { home-manager.users.lyes = { ... }: {
imports = imports = [
[
./editors ./editors
./shells ./shells
./home.nix ./home.nix