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": {
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -23,15 +66,36 @@
|
|||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"lastModified": 1703113217,
|
||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||
"owner": "nix-community",
|
||||
"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"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -59,11 +123,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1741792691,
|
||||
"narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=",
|
||||
"lastModified": 1742631601,
|
||||
"narHash": "sha256-yJ3OOAmsGAxSl0bTmKUp3+cEYtSS+V6hUPK2rYhIPr8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "e1f12151258b12c567f456d8248e4694e9390613",
|
||||
"rev": "380ed15bcd6440606c6856db44a99140d422b46f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -75,27 +139,27 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1741862977,
|
||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
||||
"lastModified": 1703013332,
|
||||
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
||||
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1742069588,
|
||||
"narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=",
|
||||
"lastModified": 1742422364,
|
||||
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5",
|
||||
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -107,11 +171,27 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1735471104,
|
||||
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
|
||||
"lastModified": 1742512142,
|
||||
"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",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
||||
"rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -123,25 +203,41 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"disko": "disko",
|
||||
"home-manager": "home-manager",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742076998,
|
||||
"narHash": "sha256-EuqbZFwam8dXNiuytI67rIUrF4ogy62OF2nGxWk8GGI=",
|
||||
"lastModified": 1742614294,
|
||||
"narHash": "sha256-bZbYlP/xqGyW2aVle742dFbc0npFnwJBzcEnXNywJgY=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "30fdea2435aeeb961acba896b9b65bab4fd17003",
|
||||
"rev": "7fa9ec4e14d89e568ebaac302049980df7cf0cc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
15
flake.nix
15
flake.nix
|
|
@ -14,9 +14,19 @@
|
|||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||
disko.url = "github:nix-community/disko";
|
||||
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 = {
|
||||
lyes-pc = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
|
@ -26,6 +36,7 @@
|
|||
./hosts/lyes-pc/disko-config.nix
|
||||
|
||||
./users/lyes
|
||||
./users/lyes/desktop
|
||||
|
||||
./modules
|
||||
./modules/desktop
|
||||
|
|
@ -33,11 +44,13 @@
|
|||
# ./modules/nvidia
|
||||
# ./modules/specialisations/old-kernel.nix
|
||||
# ./modules/specialisations/gaming.nix
|
||||
./modules/gnome
|
||||
./modules/sway
|
||||
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
nixos-hardware.nixosModules.framework-16-7040-amd
|
||||
disko.nixosModules.disko
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
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
|
||||
users.users.lyes.packages = with pkgs; [
|
||||
# Commandline
|
||||
# Commandline Utilities
|
||||
starship
|
||||
wl-clipboard
|
||||
sl
|
||||
|
|
@ -1,32 +1,8 @@
|
|||
{ pkgs, home-manager, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./packages.nix
|
||||
home-manager.nixosModules.default
|
||||
./common
|
||||
];
|
||||
|
||||
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