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
140
flake.lock
generated
140
flake.lock
generated
|
|
@ -1,5 +1,48 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"agenix": {
|
||||||
|
"inputs": {
|
||||||
|
"darwin": "darwin",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736955230,
|
||||||
|
"narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1700795494,
|
||||||
|
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -23,15 +66,36 @@
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739757849,
|
"lastModified": 1703113217,
|
||||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742234739,
|
||||||
|
"narHash": "sha256-zFL6zsf/5OztR1NSNQF33dvS1fL/BzVUjabZq4qrtY4=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "f6af7280a3390e65c2ad8fd059cdc303426cbd59",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -59,11 +123,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741792691,
|
"lastModified": 1742631601,
|
||||||
"narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=",
|
"narHash": "sha256-yJ3OOAmsGAxSl0bTmKUp3+cEYtSS+V6hUPK2rYhIPr8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "e1f12151258b12c567f456d8248e4694e9390613",
|
"rev": "380ed15bcd6440606c6856db44a99140d422b46f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -75,27 +139,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741862977,
|
"lastModified": 1703013332,
|
||||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742069588,
|
"lastModified": 1742422364,
|
||||||
"narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=",
|
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5",
|
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -107,11 +171,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735471104,
|
"lastModified": 1742512142,
|
||||||
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
|
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742288794,
|
||||||
|
"narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
"rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -123,25 +203,41 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"agenix": "agenix",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager_2",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742076998,
|
"lastModified": 1742614294,
|
||||||
"narHash": "sha256-EuqbZFwam8dXNiuytI67rIUrF4ogy62OF2nGxWk8GGI=",
|
"narHash": "sha256-bZbYlP/xqGyW2aVle742dFbc0npFnwJBzcEnXNywJgY=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "30fdea2435aeeb961acba896b9b65bab4fd17003",
|
"rev": "7fa9ec4e14d89e568ebaac302049980df7cf0cc9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
15
flake.nix
15
flake.nix
|
|
@ -14,9 +14,19 @@
|
||||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
agenix.url = "github:ryantm/agenix";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-unstable, nixos-hardware, nix-flatpak, disko, ... }@attrs: {
|
outputs = {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
nixpkgs-unstable,
|
||||||
|
nixos-hardware,
|
||||||
|
nix-flatpak,
|
||||||
|
disko,
|
||||||
|
agenix,
|
||||||
|
...
|
||||||
|
}@attrs: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
lyes-pc = nixpkgs.lib.nixosSystem {
|
lyes-pc = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
@ -26,6 +36,7 @@
|
||||||
./hosts/lyes-pc/disko-config.nix
|
./hosts/lyes-pc/disko-config.nix
|
||||||
|
|
||||||
./users/lyes
|
./users/lyes
|
||||||
|
./users/lyes/desktop
|
||||||
|
|
||||||
./modules
|
./modules
|
||||||
./modules/desktop
|
./modules/desktop
|
||||||
|
|
@ -33,11 +44,13 @@
|
||||||
# ./modules/nvidia
|
# ./modules/nvidia
|
||||||
# ./modules/specialisations/old-kernel.nix
|
# ./modules/specialisations/old-kernel.nix
|
||||||
# ./modules/specialisations/gaming.nix
|
# ./modules/specialisations/gaming.nix
|
||||||
|
./modules/gnome
|
||||||
./modules/sway
|
./modules/sway
|
||||||
|
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
nixos-hardware.nixosModules.framework-16-7040-amd
|
nixos-hardware.nixosModules.framework-16-7040-amd
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
|
agenix.nixosModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, agenix, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
@ -16,11 +16,13 @@
|
||||||
man-pages-posix
|
man-pages-posix
|
||||||
python3
|
python3
|
||||||
any-nix-shell
|
any-nix-shell
|
||||||
|
cheat
|
||||||
|
|
||||||
# Nix
|
# Nix
|
||||||
home-manager
|
home-manager
|
||||||
nix-index
|
nix-index
|
||||||
direnv
|
direnv
|
||||||
|
agenix.packages."${system}".default
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Networking
|
# Networking
|
||||||
|
|
@ -53,10 +53,4 @@
|
||||||
# Bluetooth
|
# Bluetooth
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.bluetooth.powerOnBoot = 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
|
# Packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Web
|
|
||||||
zen-browser.packages."${system}".default
|
|
||||||
fragments
|
|
||||||
dropbox
|
|
||||||
varia
|
|
||||||
filezilla
|
|
||||||
whatip
|
|
||||||
epiphany
|
|
||||||
organicmaps
|
|
||||||
|
|
||||||
# Messaging
|
# Messaging
|
||||||
thunderbird-128
|
thunderbird
|
||||||
discord
|
|
||||||
vesktop
|
|
||||||
whatsapp-for-linux
|
|
||||||
# element-desktop
|
|
||||||
fractal
|
|
||||||
zoom-us
|
|
||||||
|
|
||||||
# Image
|
|
||||||
drawing
|
|
||||||
gimp
|
|
||||||
loupe
|
|
||||||
snapshot
|
|
||||||
inkscape
|
|
||||||
|
|
||||||
# Video
|
# Video
|
||||||
mpv
|
|
||||||
vlc
|
vlc
|
||||||
syncplay
|
|
||||||
obs-studio
|
|
||||||
yt-dlp
|
|
||||||
handbrake
|
|
||||||
kooha
|
|
||||||
video-trimmer
|
|
||||||
(kodi.withPackages(kodiPkgs: with kodiPkgs; [
|
|
||||||
youtube
|
|
||||||
sponsorblock
|
|
||||||
pvr-iptvsimple
|
|
||||||
]))
|
|
||||||
|
|
||||||
# Audio
|
# Audio
|
||||||
shortwave
|
|
||||||
gnome-podcasts
|
|
||||||
helvum
|
|
||||||
local.quadcastrgb
|
|
||||||
gnome-sound-recorder
|
|
||||||
easyeffects
|
easyeffects
|
||||||
|
|
||||||
# Games
|
|
||||||
heroic
|
|
||||||
# cemu
|
|
||||||
prismlauncher
|
|
||||||
# vvvvvv
|
|
||||||
ryujinx
|
|
||||||
dolphin-emu
|
|
||||||
parsec-bin
|
|
||||||
unstable.suyu
|
|
||||||
# suyu
|
|
||||||
|
|
||||||
# Reading
|
|
||||||
# calibre
|
|
||||||
papers
|
|
||||||
|
|
||||||
# Office
|
# Office
|
||||||
libreoffice
|
libreoffice
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
|
|
@ -95,137 +22,21 @@ in {
|
||||||
hunspellDicts.en_US
|
hunspellDicts.en_US
|
||||||
hunspellDicts.en_GB-ize
|
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
|
# Printing
|
||||||
hplipWithPlugin
|
hplipWithPlugin
|
||||||
];
|
];
|
||||||
|
|
||||||
# Flatpaks
|
# Flatpaks
|
||||||
services.flatpak = lib.mkIf (config?services.flatpak.packages) {
|
services.flatpak = lib.mkIf (config?services.flatpak.packages) {
|
||||||
remotes = lib.mkOptionDefault [{
|
|
||||||
name = "gnome-nightly";
|
|
||||||
location = "https://nightly.gnome.org/gnome-nightly.flatpakrepo";
|
|
||||||
}];
|
|
||||||
|
|
||||||
packages = [
|
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
|
# Utilities
|
||||||
"com.belmoussaoui.Decoder"
|
|
||||||
"io.github.nokse22.minitext"
|
|
||||||
"org.gnome.World.PikaBackup"
|
"org.gnome.World.PikaBackup"
|
||||||
"io.github.fabrialberio.pinapp"
|
|
||||||
"re.sonny.Eloquent"
|
|
||||||
|
|
||||||
# Customization
|
# Customization
|
||||||
"ca.desrt.dconf-editor"
|
|
||||||
"app.drey.Damask"
|
|
||||||
"com.github.GradienceTeam.Gradience"
|
|
||||||
"com.github.tchx84.Flatseal"
|
"com.github.tchx84.Flatseal"
|
||||||
|
|
||||||
# Games
|
# Games
|
||||||
"com.usebottles.bottles"
|
"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;
|
uninstallUnmanaged = true;
|
||||||
|
|
|
||||||
|
|
@ -12,24 +12,6 @@
|
||||||
|
|
||||||
# Fingerprint
|
# Fingerprint
|
||||||
services.fprintd.enable = true;
|
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
|
# Touchpad
|
||||||
services.libinput.enable = true;
|
services.libinput.enable = true;
|
||||||
|
|
@ -45,11 +27,6 @@
|
||||||
programs.xwayland.enable = true;
|
programs.xwayland.enable = true;
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
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
|
# KDE
|
||||||
# services.desktopManager.plasma6.enable = true;
|
# services.desktopManager.plasma6.enable = true;
|
||||||
# programs.ssh.askPassword = lib.mkForce "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
|
# 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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
32
users/lyes/common/default.nix
Normal file
32
users/lyes/common/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
{ pkgs, home-manager, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./packages.nix
|
||||||
|
home-manager.nixosModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.lyes = {
|
||||||
|
description = "Lyes Saadi";
|
||||||
|
home = "/home/lyes";
|
||||||
|
isNormalUser = true;
|
||||||
|
initialHashedPassword = ""; # Set for vms and initial installations
|
||||||
|
extraGroups = [ "wheel" "networkmanager" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.users.lyes = { ... }: {
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.username = "lyes";
|
||||||
|
home.homeDirectory = "/home/lyes";
|
||||||
|
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
{ pkgs, nixpkgs-unstable, lib, config, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Packages
|
# Packages
|
||||||
users.users.lyes.packages = with pkgs; [
|
users.users.lyes.packages = with pkgs; [
|
||||||
# Commandline
|
# Commandline Utilities
|
||||||
starship
|
starship
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
sl
|
sl
|
||||||
|
|
@ -1,32 +1,8 @@
|
||||||
{ pkgs, home-manager, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
./packages.nix
|
./common
|
||||||
home-manager.nixosModules.default
|
|
||||||
];
|
];
|
||||||
|
|
||||||
users.users.lyes = {
|
|
||||||
description = "Lyes Saadi";
|
|
||||||
home = "/home/lyes";
|
|
||||||
isNormalUser = true;
|
|
||||||
initialHashedPassword = ""; # Set for vms and initial installations
|
|
||||||
extraGroups = [ "wheel" "networkmanager" ];
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.users.lyes = { ... }: {
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.username = "lyes";
|
|
||||||
home.homeDirectory = "/home/lyes";
|
|
||||||
|
|
||||||
home.stateVersion = "22.11";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
users/lyes/desktop/default.nix
Normal file
8
users/lyes/desktop/default.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./packages.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
124
users/lyes/desktop/packages.nix
Normal file
124
users/lyes/desktop/packages.nix
Normal file
|
|
@ -0,0 +1,124 @@
|
||||||
|
{ pkgs, zen-browser, ... }:
|
||||||
|
|
||||||
|
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 {
|
||||||
|
users.users.lyes.packages = with pkgs; [
|
||||||
|
# Web
|
||||||
|
zen-browser.packages."${system}".default
|
||||||
|
dropbox
|
||||||
|
filezilla
|
||||||
|
organicmaps
|
||||||
|
|
||||||
|
# Messaging
|
||||||
|
discord
|
||||||
|
vesktop
|
||||||
|
whatsapp-for-linux
|
||||||
|
# element-desktop
|
||||||
|
fractal
|
||||||
|
zoom-us
|
||||||
|
|
||||||
|
# Image
|
||||||
|
gimp
|
||||||
|
inkscape
|
||||||
|
|
||||||
|
# Video
|
||||||
|
mpv
|
||||||
|
syncplay
|
||||||
|
obs-studio
|
||||||
|
yt-dlp
|
||||||
|
handbrake
|
||||||
|
(kodi.withPackages(kodiPkgs: with kodiPkgs; [
|
||||||
|
youtube
|
||||||
|
sponsorblock
|
||||||
|
pvr-iptvsimple
|
||||||
|
]))
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
helvum
|
||||||
|
local.quadcastrgb
|
||||||
|
|
||||||
|
# Games
|
||||||
|
heroic
|
||||||
|
# cemu
|
||||||
|
prismlauncher
|
||||||
|
# vvvvvv
|
||||||
|
ryujinx
|
||||||
|
dolphin-emu
|
||||||
|
parsec-bin
|
||||||
|
unstable.suyu
|
||||||
|
# suyu
|
||||||
|
# factorio
|
||||||
|
|
||||||
|
# Reading
|
||||||
|
# calibre
|
||||||
|
|
||||||
|
# Note taking
|
||||||
|
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
|
||||||
|
elan
|
||||||
|
|
||||||
|
# Containers & VMs
|
||||||
|
toolbox
|
||||||
|
distrobox
|
||||||
|
|
||||||
|
# Virtualization
|
||||||
|
qemu
|
||||||
|
virt-manager
|
||||||
|
|
||||||
|
# Utilities
|
||||||
|
ghostty
|
||||||
|
|
||||||
|
# Proton
|
||||||
|
protonmail-bridge-gui
|
||||||
|
protonmail-desktop
|
||||||
|
protonvpn-gui
|
||||||
|
proton-pass
|
||||||
|
|
||||||
|
# Multimedia
|
||||||
|
pipewire.dev
|
||||||
|
# pulseaudio
|
||||||
|
libopus
|
||||||
|
];
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue