Splitting desktop to user and gnome and adding agenix
This commit is contained in:
parent
0350576970
commit
49ad024034
14 changed files with 453 additions and 274 deletions
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{ pkgs, agenix, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
@ -16,11 +16,13 @@
|
|||
man-pages-posix
|
||||
python3
|
||||
any-nix-shell
|
||||
cheat
|
||||
|
||||
# Nix
|
||||
home-manager
|
||||
nix-index
|
||||
direnv
|
||||
agenix.packages."${system}".default
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
# Networking
|
||||
|
|
@ -53,10 +53,4 @@
|
|||
# Bluetooth
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.powerOnBoot = true;
|
||||
|
||||
# KDE Connect
|
||||
programs.kdeconnect = {
|
||||
enable = true;
|
||||
package = lib.mkDefault pkgs.gnomeExtensions.gsconnect;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,90 +1,17 @@
|
|||
{ pkgs, lib, config, zen-browser, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
|
||||
let
|
||||
tex = (pkgs.texlive.combine { inherit (pkgs.texlive)
|
||||
scheme-medium
|
||||
lettre
|
||||
wallpaper
|
||||
lastpage
|
||||
hyphenat
|
||||
moresize
|
||||
fontawesome5
|
||||
montserrat
|
||||
titlesec
|
||||
ly1
|
||||
footmisc
|
||||
titling
|
||||
frpseudocode
|
||||
ebproof
|
||||
comment;
|
||||
});
|
||||
in {
|
||||
{
|
||||
# Packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Web
|
||||
zen-browser.packages."${system}".default
|
||||
fragments
|
||||
dropbox
|
||||
varia
|
||||
filezilla
|
||||
whatip
|
||||
epiphany
|
||||
organicmaps
|
||||
|
||||
# Messaging
|
||||
thunderbird-128
|
||||
discord
|
||||
vesktop
|
||||
whatsapp-for-linux
|
||||
# element-desktop
|
||||
fractal
|
||||
zoom-us
|
||||
|
||||
# Image
|
||||
drawing
|
||||
gimp
|
||||
loupe
|
||||
snapshot
|
||||
inkscape
|
||||
thunderbird
|
||||
|
||||
# Video
|
||||
mpv
|
||||
vlc
|
||||
syncplay
|
||||
obs-studio
|
||||
yt-dlp
|
||||
handbrake
|
||||
kooha
|
||||
video-trimmer
|
||||
(kodi.withPackages(kodiPkgs: with kodiPkgs; [
|
||||
youtube
|
||||
sponsorblock
|
||||
pvr-iptvsimple
|
||||
]))
|
||||
|
||||
# Audio
|
||||
shortwave
|
||||
gnome-podcasts
|
||||
helvum
|
||||
local.quadcastrgb
|
||||
gnome-sound-recorder
|
||||
easyeffects
|
||||
|
||||
# Games
|
||||
heroic
|
||||
# cemu
|
||||
prismlauncher
|
||||
# vvvvvv
|
||||
ryujinx
|
||||
dolphin-emu
|
||||
parsec-bin
|
||||
unstable.suyu
|
||||
# suyu
|
||||
|
||||
# Reading
|
||||
# calibre
|
||||
papers
|
||||
|
||||
# Office
|
||||
libreoffice
|
||||
onlyoffice-bin
|
||||
|
|
@ -95,137 +22,21 @@ in {
|
|||
hunspellDicts.en_US
|
||||
hunspellDicts.en_GB-ize
|
||||
|
||||
# Note taking
|
||||
apostrophe
|
||||
setzer
|
||||
tex
|
||||
pandoc
|
||||
unstable.typst
|
||||
# typst
|
||||
tinymist
|
||||
zotero
|
||||
|
||||
# Programming
|
||||
git
|
||||
git-lfs
|
||||
vscode
|
||||
# zed-editor
|
||||
gcc
|
||||
rustup
|
||||
python3
|
||||
ocaml
|
||||
ocamlPackages.ocaml-lsp
|
||||
ocamlPackages.ocamlformat
|
||||
opam
|
||||
ledit
|
||||
nodejs
|
||||
nil
|
||||
nixd
|
||||
nixfmt-rfc-style
|
||||
protege # LogIA Course
|
||||
haskellPackages.Agda
|
||||
agdaPackages.standard-library
|
||||
devtoolbox
|
||||
elan
|
||||
|
||||
# Containers & VMs
|
||||
toolbox
|
||||
distrobox
|
||||
gnome-boxes
|
||||
|
||||
# Virtualization
|
||||
qemu
|
||||
virt-manager
|
||||
|
||||
# System
|
||||
gnome-firmware
|
||||
|
||||
# Utilities
|
||||
ghostty
|
||||
impression
|
||||
resources
|
||||
file-roller
|
||||
baobab
|
||||
planify
|
||||
dosage-tracker
|
||||
|
||||
# Proton
|
||||
protonmail-bridge-gui
|
||||
protonmail-desktop
|
||||
protonvpn-gui
|
||||
proton-pass
|
||||
|
||||
# Customization
|
||||
gnome-tweaks
|
||||
gnome-extension-manager
|
||||
adw-gtk3
|
||||
paper-icon-theme
|
||||
# gnomeExtensions.gsconnect
|
||||
|
||||
# Multimedia
|
||||
pipewire.dev
|
||||
# pulseaudio
|
||||
libopus
|
||||
|
||||
# Printing
|
||||
hplipWithPlugin
|
||||
];
|
||||
|
||||
# Flatpaks
|
||||
services.flatpak = lib.mkIf (config?services.flatpak.packages) {
|
||||
remotes = lib.mkOptionDefault [{
|
||||
name = "gnome-nightly";
|
||||
location = "https://nightly.gnome.org/gnome-nightly.flatpakrepo";
|
||||
}];
|
||||
|
||||
packages = [
|
||||
# Image
|
||||
"page.kramo.Sly"
|
||||
|
||||
# Video
|
||||
"org.nickvision.tubeconverter"
|
||||
|
||||
# Audio
|
||||
"io.github.revisto.drum-machine"
|
||||
|
||||
# Reading
|
||||
"com.github.johnfactotum.Foliate"
|
||||
|
||||
# Science
|
||||
"com.github.alexhuntley.Plots"
|
||||
|
||||
# Office
|
||||
"com.belmoussaoui.Obfuscate"
|
||||
"com.github.muriloventuroso.pdftricks"
|
||||
"com.github.flxzt.rnote"
|
||||
"com.github.jeromerobert.pdfarranger"
|
||||
"garden.jamie.Morphosis"
|
||||
|
||||
# Utilities
|
||||
"com.belmoussaoui.Decoder"
|
||||
"io.github.nokse22.minitext"
|
||||
"org.gnome.World.PikaBackup"
|
||||
"io.github.fabrialberio.pinapp"
|
||||
"re.sonny.Eloquent"
|
||||
|
||||
# Customization
|
||||
"ca.desrt.dconf-editor"
|
||||
"app.drey.Damask"
|
||||
"com.github.GradienceTeam.Gradience"
|
||||
"com.github.tchx84.Flatseal"
|
||||
|
||||
# Games
|
||||
"com.usebottles.bottles"
|
||||
"dev.tchx84.Gameeky"
|
||||
"dev.tchx84.Gameeky.ThematicPack.FreedomValley"
|
||||
"dev.tchx84.Gameeky.ThematicPack.Blasterman"
|
||||
"dev.tchx84.Gameeky.ThematicPack.Wackman"
|
||||
"net.zdechov.app.TransLines"
|
||||
"io.github.nokse22.ultimate-tic-tac-toe"
|
||||
|
||||
# Programming
|
||||
{ appId = "org.gnome.Builder.Devel"; origin = "gnome-nightly"; }
|
||||
"app.drey.Biblioteca"
|
||||
];
|
||||
|
||||
uninstallUnmanaged = true;
|
||||
|
|
|
|||
|
|
@ -12,24 +12,6 @@
|
|||
|
||||
# Fingerprint
|
||||
services.fprintd.enable = true;
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
security.pam.services.gdm-fingerprint.text = ''
|
||||
auth required pam_shells.so
|
||||
auth requisite pam_nologin.so
|
||||
auth requisite pam_faillock.so preauth
|
||||
auth required ${pkgs.fprintd}/lib/security/pam_fprintd.so
|
||||
auth optional pam_permit.so
|
||||
auth required pam_env.so
|
||||
auth [success=ok default=1] ${pkgs.gdm}/lib/security/pam_gdm.so
|
||||
auth optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
||||
|
||||
account include login
|
||||
|
||||
password required pam_deny.so
|
||||
|
||||
session include login
|
||||
session optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
|
||||
'';
|
||||
|
||||
# Touchpad
|
||||
services.libinput.enable = true;
|
||||
|
|
@ -45,11 +27,6 @@
|
|||
programs.xwayland.enable = true;
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# GNOME
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
environment.gnome.excludePackages = [ pkgs.evince ];
|
||||
|
||||
# KDE
|
||||
# services.desktopManager.plasma6.enable = true;
|
||||
# programs.ssh.askPassword = lib.mkForce "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
|
||||
|
|
|
|||
39
modules/gnome/default.nix
Normal file
39
modules/gnome/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./packages.nix
|
||||
];
|
||||
|
||||
# Fingerprint
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
security.pam.services.gdm-fingerprint.text = ''
|
||||
auth required pam_shells.so
|
||||
auth requisite pam_nologin.so
|
||||
auth requisite pam_faillock.so preauth
|
||||
auth required ${pkgs.fprintd}/lib/security/pam_fprintd.so
|
||||
auth optional pam_permit.so
|
||||
auth required pam_env.so
|
||||
auth [success=ok default=1] ${pkgs.gdm}/lib/security/pam_gdm.so
|
||||
auth optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
||||
|
||||
account include login
|
||||
|
||||
password required pam_deny.so
|
||||
|
||||
session include login
|
||||
session optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
|
||||
'';
|
||||
|
||||
# GNOME
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
environment.gnome.excludePackages = [ pkgs.evince ];
|
||||
|
||||
# KDE Connect
|
||||
programs.kdeconnect = {
|
||||
enable = true;
|
||||
package = lib.mkDefault pkgs.gnomeExtensions.gsconnect;
|
||||
};
|
||||
}
|
||||
107
modules/gnome/packages.nix
Normal file
107
modules/gnome/packages.nix
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Web
|
||||
fragments
|
||||
varia
|
||||
whatip
|
||||
epiphany
|
||||
|
||||
# Image
|
||||
drawing
|
||||
loupe
|
||||
snapshot
|
||||
|
||||
# Video
|
||||
kooha
|
||||
video-trimmer
|
||||
|
||||
# Audio
|
||||
shortwave
|
||||
gnome-podcasts
|
||||
gnome-sound-recorder
|
||||
|
||||
# Reading
|
||||
papers
|
||||
|
||||
# Note taking
|
||||
apostrophe
|
||||
setzer
|
||||
|
||||
# Programming
|
||||
devtoolbox
|
||||
|
||||
# Containers & VMs
|
||||
gnome-boxes
|
||||
|
||||
# System
|
||||
gnome-firmware
|
||||
|
||||
# Utilities
|
||||
impression
|
||||
resources
|
||||
file-roller
|
||||
baobab
|
||||
planify
|
||||
dosage-tracker
|
||||
|
||||
# Customization
|
||||
gnome-tweaks
|
||||
gnome-extension-manager
|
||||
adw-gtk3
|
||||
paper-icon-theme
|
||||
];
|
||||
|
||||
services.flatpak = lib.mkIf (config?services.flatpak.packages) {
|
||||
remotes = lib.mkOptionDefault [{
|
||||
name = "gnome-nightly";
|
||||
location = "https://nightly.gnome.org/gnome-nightly.flatpakrepo";
|
||||
}];
|
||||
|
||||
packages = [
|
||||
# Image
|
||||
"page.kramo.Sly"
|
||||
|
||||
# Video
|
||||
"org.nickvision.tubeconverter"
|
||||
|
||||
# Audio
|
||||
"io.github.revisto.drum-machine"
|
||||
|
||||
# Reading
|
||||
"com.github.johnfactotum.Foliate"
|
||||
|
||||
# Science
|
||||
"com.github.alexhuntley.Plots"
|
||||
|
||||
# Office
|
||||
"com.belmoussaoui.Obfuscate"
|
||||
"com.github.muriloventuroso.pdftricks"
|
||||
"com.github.flxzt.rnote"
|
||||
"com.github.jeromerobert.pdfarranger"
|
||||
"garden.jamie.Morphosis"
|
||||
|
||||
# Utilities
|
||||
"com.belmoussaoui.Decoder"
|
||||
"io.github.nokse22.minitext"
|
||||
"io.github.fabrialberio.pinapp"
|
||||
"re.sonny.Eloquent"
|
||||
|
||||
# Customization
|
||||
"ca.desrt.dconf-editor"
|
||||
"app.drey.Damask"
|
||||
"com.github.GradienceTeam.Gradience"
|
||||
|
||||
# Games
|
||||
"dev.tchx84.Gameeky"
|
||||
"dev.tchx84.Gameeky.ThematicPack.FreedomValley"
|
||||
"dev.tchx84.Gameeky.ThematicPack.Blasterman"
|
||||
"dev.tchx84.Gameeky.ThematicPack.Wackman"
|
||||
|
||||
# Programming
|
||||
{ appId = "org.gnome.Builder.Devel"; origin = "gnome-nightly"; }
|
||||
"app.drey.Biblioteca"
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue