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

View file

@ -16,6 +16,11 @@
zen-browser.url = "github:0xc000022070/zen-browser-flake";
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";
copyparty = {
@ -40,7 +45,7 @@
pin-factorio.url = "github:NixOS/nixpkgs?rev=c5ae371f1a6a7fd27823bc500d9390b38c05fa55";
};
outputs = { self, nixpkgs, mailserver, copyparty, deploy-rs, ... }@inputs: {
outputs = { self, nixpkgs, deploy-rs, ... }@inputs: {
nixosConfigurations = {
# Framework Computer
piaf = nixpkgs.lib.nixosSystem {
@ -53,11 +58,7 @@
zora = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = inputs;
modules = [
./hosts/zora
mailserver.nixosModules.default
copyparty.nixosModules.default
];
modules = [ ./hosts/zora ];
};
# Desktop ISO

View file

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

View file

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

View file

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

View file

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

View file

@ -23,7 +23,8 @@ in
swaynag.enable = true;
config = {
startup = [
{ command = "poweralertd"; }
{ command = "${pkgs.poweralertd}/bin/poweralertd"; }
# { command = "${pkgs.vicinae}/bin/vicinae server"; }
{
command = ''
swayidle -w \
@ -35,7 +36,7 @@ in
];
modifier = "Mod4";
menu = "${pkgs.wofi}/bin/wofi --show drun";
menu = "${pkgs.vicinae}/bin/vicinae toggle";
# Switch to ghostty ?
terminal = "${pkgs.ghostty}/bin/ghostty";
@ -610,6 +611,52 @@ in
};
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 = {
enable = true;
settings = {};

View file

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

View file

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

View file

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