mirror of
https://github.com/traxys/Nixfiles.git
synced 2026-03-04 19:51:05 +01:00
Mutualize GUI configuration
(NixOS + Home Manager)
This commit is contained in:
parent
ceff26b4e1
commit
f647f8fafb
19 changed files with 142 additions and 128 deletions
|
|
@ -94,6 +94,7 @@
|
|||
flake = self;
|
||||
};
|
||||
personal-cli = import ./personal-cli/hm.nix;
|
||||
personal-gui = import ./personal-gui/hm.nix;
|
||||
};
|
||||
|
||||
nixosModules = {
|
||||
|
|
@ -101,6 +102,7 @@
|
|||
inherit extraInfo;
|
||||
};
|
||||
personal-cli = import ./personal-cli/nixos.nix;
|
||||
personal-gui = import ./personal-gui/nixos.nix;
|
||||
};
|
||||
|
||||
overlays.x86_64-linux = final: prev: pkgList "x86_64-linux" prev.callPackage;
|
||||
|
|
@ -112,6 +114,7 @@
|
|||
./hostconfig/ZeNixComputa/extra_info.nix
|
||||
self.nixosModules.minimal
|
||||
self.nixosModules.personal-cli
|
||||
self.nixosModules.personal-gui
|
||||
({pkgs, ...}: {
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlay
|
||||
|
|
@ -136,11 +139,11 @@
|
|||
imports = [
|
||||
self.hmModules.minimal
|
||||
self.hmModules.personal-cli
|
||||
self.hmModules.personal-gui
|
||||
./home.nix
|
||||
./graphical.nix
|
||||
./extra_info.nix
|
||||
./localinfo.nix
|
||||
./wm
|
||||
./rustdev.nix
|
||||
./git
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,61 +1,9 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
# Browser
|
||||
firefox-wayland
|
||||
(tor-browser-bundle-bin.override {
|
||||
useHardenedMalloc = false;
|
||||
})
|
||||
|
||||
# IM
|
||||
element-desktop
|
||||
(discord.override {nss = pkgs.nss;})
|
||||
signal-desktop
|
||||
|
||||
# Mail
|
||||
thunderbird-wayland
|
||||
|
||||
# Media
|
||||
pavucontrol
|
||||
vlc
|
||||
spotify
|
||||
krita
|
||||
gromit-mpx
|
||||
|
||||
# Libreoffice
|
||||
libreoffice
|
||||
hunspell
|
||||
hunspellDicts.fr-any
|
||||
hyphen
|
||||
|
||||
# Misc progs
|
||||
bitwarden
|
||||
libreoffice-fresh
|
||||
plasma5Packages.kdeconnect-kde
|
||||
|
||||
# Misc utils
|
||||
wl-clipboard
|
||||
xdg-utils
|
||||
feh
|
||||
wdisplays
|
||||
];
|
||||
|
||||
/*
|
||||
environment.pathsToLink = [ "/share/hunspell" "/share/myspell" "/share/hyphen" ];
|
||||
environment.variables.DICPATH = "/run/current-system/sw/share/hunspell:/run/current-system/sw/share/hyphen";
|
||||
*/
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "firefox";
|
||||
GTK_USE_PORTAL = 1;
|
||||
};
|
||||
|
||||
programs = {
|
||||
zathura = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
21
home.nix
21
home.nix
|
|
@ -38,27 +38,6 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
home.file = {
|
||||
"bin/ssh-picker" = let
|
||||
ssh_hosts = builtins.attrNames config.programs.ssh.matchBlocks;
|
||||
ssh_specific = builtins.filter (h: !(lib.strings.hasInfix "*" h)) ssh_hosts;
|
||||
ssh_specific_echo = builtins.map (h: "echo ${h}") ssh_specific;
|
||||
|
||||
picker =
|
||||
if config.wm.kind == "sway"
|
||||
then "${pkgs.wofi}/bin/wofi -S dmenu"
|
||||
else "${pkgs.rofi}/bin/rofi -dmenu";
|
||||
in {
|
||||
text = ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
{
|
||||
${lib.strings.concatStringsSep "\n" ssh_specific_echo}
|
||||
} | ${picker} | xargs ${config.terminal.command} ssh
|
||||
'';
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
shellAliases = {
|
||||
|
|
|
|||
|
|
@ -24,23 +24,13 @@
|
|||
services = {
|
||||
tzupdate.enable = true;
|
||||
privoxy.enable = true;
|
||||
flatpak.enable = true;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
localtimed.enable = true;
|
||||
geoclue2.enable = true;
|
||||
postgresql = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
programs.adb.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
programs.nix-ld.enable = true;
|
||||
hardware.opentabletdriver.enable = true;
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages;
|
||||
/*
|
||||
|
|
@ -51,21 +41,6 @@
|
|||
waydroid.enable = true;
|
||||
};
|
||||
|
||||
security.pam = {
|
||||
yubico = {
|
||||
enable = true;
|
||||
debug = false;
|
||||
mode = "challenge-response";
|
||||
};
|
||||
services.swaylock = {
|
||||
text = ''
|
||||
auth include login
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
programs.noisetorch.enable = true;
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
8080
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@
|
|||
];
|
||||
};
|
||||
*/
|
||||
hardware.opentabletdriver.enable = true;
|
||||
|
||||
users = {
|
||||
users = {
|
||||
|
|
@ -60,10 +59,7 @@
|
|||
uid = 1000;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"adbusers"
|
||||
"http"
|
||||
"scanner"
|
||||
"lp"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -71,18 +67,4 @@
|
|||
|
||||
# Set your time zone.
|
||||
# time.timeZone = "Europe/Paris";
|
||||
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = [pkgs.hplip pkgs.gutenprint pkgs.cnijfilter2];
|
||||
};
|
||||
hardware.sane.enable = true;
|
||||
services.avahi = {
|
||||
nssmdns = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,16 +7,6 @@
|
|||
ashmem = config.boot.kernelPackages.callPackage ./anbox.nix {name = "ashmem";};
|
||||
binder = config.boot.kernelPackages.callPackage ./anbox.nix {name = "binder";};
|
||||
in {
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# boot.extraModulePackages = [ ashmem binder ];
|
||||
# boot.kernelModules = [ "ashmem_linux" "binder_linux" ];
|
||||
|
||||
|
|
|
|||
74
personal-gui/hm.nix
Normal file
74
personal-gui/hm.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./wm];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# Browsers
|
||||
firefox-wayland
|
||||
(tor-browser-bundle-bin.override {
|
||||
useHardenedMalloc = false;
|
||||
})
|
||||
|
||||
# IM
|
||||
(discord.override {nss = pkgs.nss;})
|
||||
element-desktop
|
||||
signal-desktop
|
||||
|
||||
# Mail
|
||||
thunderbird-wayland
|
||||
|
||||
# Media
|
||||
gromit-mpx
|
||||
krita
|
||||
pavucontrol
|
||||
spotify
|
||||
vlc
|
||||
|
||||
# Libreoffice
|
||||
hunspell
|
||||
hunspellDicts.fr-any
|
||||
hyphen
|
||||
libreoffice
|
||||
|
||||
# Misc
|
||||
gnome.eog
|
||||
freecad
|
||||
plasma5Packages.kdeconnect-kde
|
||||
wdisplays
|
||||
wl-clipboard
|
||||
xdg-utils
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "firefox";
|
||||
GTK_USE_PORTAL = 1;
|
||||
};
|
||||
|
||||
programs.zathura.enable = true;
|
||||
|
||||
home.file = {
|
||||
"bin/ssh-picker" = let
|
||||
ssh_hosts = builtins.attrNames config.programs.ssh.matchBlocks;
|
||||
ssh_specific = builtins.filter (h: !(lib.strings.hasInfix "*" h)) ssh_hosts;
|
||||
ssh_specific_echo = builtins.map (h: "echo ${h}") ssh_specific;
|
||||
|
||||
picker =
|
||||
if config.wm.kind == "sway"
|
||||
then "${pkgs.wofi}/bin/wofi -S dmenu"
|
||||
else "${pkgs.rofi}/bin/rofi -dmenu";
|
||||
in {
|
||||
text = ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
{
|
||||
${lib.strings.concatStringsSep "\n" ssh_specific_echo}
|
||||
} | ${picker} | xargs ${config.terminal.command} ssh
|
||||
'';
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
63
personal-gui/nixos.nix
Normal file
63
personal-gui/nixos.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.flatpak.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
programs.noisetorch.enable = true;
|
||||
|
||||
programs.adb.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
virtualisation.waydroid.enable = true;
|
||||
|
||||
hardware.opentabletdriver.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
security.pam.yubico = {
|
||||
enable = true;
|
||||
debug = false;
|
||||
mode = "challenge-response";
|
||||
};
|
||||
services.udev.packages = [pkgs.yubikey-personalization];
|
||||
|
||||
security.pam.services.swaylock.text = ''
|
||||
auth include login
|
||||
'';
|
||||
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = [pkgs.hplip pkgs.gutenprint pkgs.cnijfilter2];
|
||||
};
|
||||
hardware.sane.enable = true;
|
||||
services.avahi = {
|
||||
nssmdns = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
users.users."${config.extraInfo.username}".extraGroups = ["adbusers" "scanner" "lp"];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue