diff --git a/flake.lock b/flake.lock index 4ab6598..e0af1c5 100644 --- a/flake.lock +++ b/flake.lock @@ -4,7 +4,9 @@ "inputs": { "darwin": "darwin", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "systems": "systems" }, "locked": { @@ -50,11 +52,11 @@ ] }, "locked": { - "lastModified": 1751854533, - "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", + "lastModified": 1753140376, + "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", "owner": "nix-community", "repo": "disko", - "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", + "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", "type": "github" }, "original": { @@ -91,11 +93,11 @@ ] }, "locked": { - "lastModified": 1751990210, - "narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=", + "lastModified": 1753888434, + "narHash": "sha256-xQhSeLJVsxxkwchE4s6v1CnOI6YegCqeA1fgk/ivVI4=", "owner": "nix-community", "repo": "home-manager", - "rev": "218da00bfa73f2a61682417efe74549416c16ba6", + "rev": "0630790b31d4547d79ff247bc3ba1adda3a017d9", "type": "github" }, "original": { @@ -113,11 +115,11 @@ ] }, "locked": { - "lastModified": 1743604125, - "narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=", + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", "owner": "nix-community", "repo": "home-manager", - "rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", "type": "github" }, "original": { @@ -144,11 +146,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752048960, - "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", + "lastModified": 1753122741, + "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", + "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", "type": "github" }, "original": { @@ -160,11 +162,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745391562, - "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -192,11 +194,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -208,27 +210,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1743448293, - "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", + "lastModified": 1752480373, + "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3", + "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", "type": "github" }, "original": { @@ -245,7 +231,7 @@ "home-manager": "home-manager_2", "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", "zen-browser": "zen-browser" @@ -269,14 +255,14 @@ "zen-browser": { "inputs": { "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1751930356, - "narHash": "sha256-xiG5vY4KhrIfUGb/MyPXaDiatFJ0mQngook01X4VwHg=", + "lastModified": 1753850692, + "narHash": "sha256-FF9u38mWimyCUL1iZpqWiuKdAqDZgejJ2JFB4MK09SE=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "06c1a125bfa2002e9d84ebf655271c6f06ab1f38", + "rev": "ddeb3b3d529aa64be59b46d43bf1d579b256e1b0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 876f796..8f5b787 100644 --- a/flake.nix +++ b/flake.nix @@ -6,70 +6,39 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11"; - # home-manager.url = "github:nix-community/home-manager/release-24.11"; - home-manager.url = "github:nix-community/home-manager/master"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + + home-manager = { + url = "github:nix-community/home-manager/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nix-flatpak.url = "github:gmodena/nix-flatpak/latest"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; - disko.url = "github:nix-community/disko"; - disko.inputs.nixpkgs.follows = "nixpkgs"; - agenix.url = "github:ryantm/agenix"; + + disko = { + url = "github:nix-community/disko"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + agenix = { + url = "github:ryantm/agenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { - self, - nixpkgs, - nixpkgs-unstable, - nixpkgs-stable, - nixos-hardware, - nix-flatpak, - disko, - agenix, - ... - }@attrs: { + outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations = { lyes-pc = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = attrs; - modules = [ - ./hosts/lyes-pc - ./hosts/lyes-pc/disko-config.nix - - ./users/lyes - ./users/lyes/desktop - - ./modules - ./modules/desktop - ./modules/gaming - # ./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 - ]; + specialArgs = inputs; + modules = [ ./hosts/lyes-pc ]; }; desktop-iso = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = attrs; - modules = [ - ./hosts/iso - - ./modules - ./modules/desktop - ./modules/gaming - ./modules/nvidia - - nix-flatpak.nixosModules.nix-flatpak - "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" - "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" - ]; + specialArgs = inputs; + modules = [ ./hosts/iso ]; }; }; }; diff --git a/hosts/iso/default.nix b/hosts/iso/default.nix index 21ebc0f..b54ea2d 100644 --- a/hosts/iso/default.nix +++ b/hosts/iso/default.nix @@ -1,7 +1,20 @@ -{ pkgs, lib, ... }: +{ pkgs, lib, nix-flatpak, nixpkgs, ... }: + let calamares-auto-start = pkgs.makeAutostartItem { name = "io.calamares.calamares"; package = pkgs.calamares-nixos; }; in { + import = + [ + ../../modules + ../../modules/desktop + ../../modules/gaming + ../../modules/nvidia + + nix-flatpak.nixosModules.nix-flatpak + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" + ]; + # VMs services.spice-vdagentd.enable = true; services.qemuGuest.enable = true; diff --git a/hosts/lyes-pc/default.nix b/hosts/lyes-pc/default.nix index bafbc9e..844a80f 100644 --- a/hosts/lyes-pc/default.nix +++ b/hosts/lyes-pc/default.nix @@ -1,8 +1,26 @@ -{ pkgs, ... }: +{ config, nix-flatpak, nixos-hardware, disko, agenix, ... }: { - imports = [ + imports = + [ + # Hosts ./hardware-configuration.nix + ./hardware.nix + ./disko-config.nix + + ../../users/lyes + ../../users/lyes/desktop + + ../../modules + ../../modules/desktop + ../../modules/gaming + ../../modules/gnome + ../../modules/sway + + nix-flatpak.nixosModules.nix-flatpak + nixos-hardware.nixosModules.framework-16-7040-amd + disko.nixosModules.disko + agenix.nixosModules.default ]; # Networking @@ -11,113 +29,12 @@ hostId = "ed183b8f"; }; - # Kernel - boot.kernelPackages = pkgs.linuxPackages_6_15; - - # Boot - boot.loader.systemd-boot.enable = true; - boot.loader.systemd-boot.configurationLimit = 10; - # boot.loader.efi.canTouchEfiVariables = true; - # boot.kernelParams = [ "quiet" ]; - boot.initrd.systemd = { - enable = true; - # network.enable = true; - }; - - # Reboot Timeout - systemd.extraConfig = '' - DefaultTimeoutStopSec=10s - ''; - - # Swap - zramSwap.enable = true; - - # Wake Up issues - services.udev.extraRules = - '' - ACTION=="add", SUBSYSTEM=="acpi", DRIVERS=="button", ATTRS{hid}=="PNP0C0D", ATTR{power/wakeup}="disabled" - ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled" - - ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0018", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled" - ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled" - ''; - - # Optimisation - - # nixpkgs.hostPlatform = { - # gcc.arch = "tigerlake"; - # gcc.tune = "tigerlake"; - # system = "x86_64-linux"; - # }; - - # nix.settings.system-features = [ "gccarch-tigerlake" "nixos-test" "benchmark" "big-parallel" "kvm" ]; - - # # Increasing the limit of files to help with compilation - # security.pam.loginLimits = [{ - # domain = "*"; - # type = "soft"; - # item = "nofile"; - # value = "8192"; - # }]; - - # # Resources Limit - # nix.settings = { - # max-jobs = 7; - # cores = 2; - # }; - - # # OOM configuration - # systemd = { - # # Create a separate slice for nix-daemon that is - # # memory-managed by the userspace systemd-oomd killer - # slices."nix-daemon".sliceConfig = { - # ManagedOOMMemoryPressure = "kill"; - # ManagedOOMMemoryPressureLimit = "50%"; - # }; - # services."nix-daemon".serviceConfig.Slice = "nix-daemon.slice"; - - # # If a kernel-level OOM event does occur anyway, - # # strongly prefer killing nix-daemon child processes - # services."nix-daemon".serviceConfig.OOMScoreAdjust = 1000; - - # services."nix-daemon".serviceConfig.MemoryHigh = "16G"; - # services."nix-daemon".serviceConfig.MemoryMax = "20G"; - # }; - - # Disabling failing test - nixpkgs.overlays = [ (final: prev: { - upower = prev.upower.overrideAttrs (_: { doCheck = false; }); - gxml = prev.gxml.overrideAttrs (_: { doCheck = false; }); - # # orc = prev.orc.overrideAttrs (_: { doCheck = false; }); - # # gsl = prev.gsl.overrideAttrs (_: { doCheck = false; }); - # fprintd = prev.fprintd.overrideAttrs (super: { - # # doCheck = false; - # # buildInputs = super.buildInputs or [ ] ++ (with pkgs; [ libpam-wrapper (pkgs.python3.withPackages (python-pkgs: [ python-pkgs.pycairo python-pkgs.dbus-python python-pkgs.python-dbusmock ])) ]); - # mesonCheckFlags = [ - # # PAM related checks are timing out - # "--no-suite" "fprintd" - # ]; - # }); - # libsrtp = prev.libsrtp.overrideAttrs (_: { - # mesonFlags = [ - # "-Dcrypto-library=openssl" - # "-Dcrypto-library-kdf=disabled" - # "-Ddoc=disabled" - # "-Dtests=disabled" - # ]; - # }); - # # # haskellPackages.crypton = pkgs.haskell.lib.overrideCabal prev.crypton (_: { doCheck = false; }); - # # # haskellPackages.cryptonite = pkgs.haskell.lib.overrideCabal prev.cryptonite (_: { doCheck = false; }); - }) ]; - - # nixpkgs.config.packageOverrides = pkgs: { - # haskellPackages = pkgs.haskellPackages.override { - # overrides = hsSelf: hsSuper: { - # crypton = pkgs.haskell.lib.overrideCabal hsSuper.crypton (_: { doCheck = false; }); - # cryptonite = pkgs.haskell.lib.overrideCabal hsSuper.cryptonite (_: { doCheck = false; }); - # crypton-x509-validation = pkgs.haskell.lib.overrideCabal hsSuper.crypton-x509-validation (oa: { doCheck = false; }); - # tls = pkgs.haskell.lib.overrideCabal hsSuper.tls (oa: { doCheck = false; }); - # }; - # }; - # }; + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + home-manager.users.lyes.home.stateVersion = config.system.stateVersion; } diff --git a/hosts/lyes-pc/hardware.nix b/hosts/lyes-pc/hardware.nix new file mode 100644 index 0000000..22b2b6c --- /dev/null +++ b/hosts/lyes-pc/hardware.nix @@ -0,0 +1,113 @@ +{ pkgs, ... }: + +{ + # Kernel + boot.kernelPackages = pkgs.linuxPackages_6_15; + + # Boot + boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.configurationLimit = 10; + # boot.loader.efi.canTouchEfiVariables = true; + # boot.kernelParams = [ "quiet" ]; + boot.initrd.systemd = { + enable = true; + # network.enable = true; + }; + + # Reboot Timeout + systemd.extraConfig = '' + DefaultTimeoutStopSec=10s + ''; + + # Swap + zramSwap.enable = true; + + # Wake Up issues + services.udev.extraRules = + '' + ACTION=="add", SUBSYSTEM=="acpi", DRIVERS=="button", ATTRS{hid}=="PNP0C0D", ATTR{power/wakeup}="disabled" + ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled" + + ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0018", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled" + ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", ATTR{power/wakeup}="disabled", ATTR{driver/1-1.1.1.4/power/wakeup}="disabled" + ''; + + # Optimisation + + # nixpkgs.hostPlatform = { + # gcc.arch = "tigerlake"; + # gcc.tune = "tigerlake"; + # system = "x86_64-linux"; + # }; + + # nix.settings.system-features = [ "gccarch-tigerlake" "nixos-test" "benchmark" "big-parallel" "kvm" ]; + + # # Increasing the limit of files to help with compilation + # security.pam.loginLimits = [{ + # domain = "*"; + # type = "soft"; + # item = "nofile"; + # value = "8192"; + # }]; + + # # Resources Limit + # nix.settings = { + # max-jobs = 7; + # cores = 2; + # }; + + # # OOM configuration + # systemd = { + # # Create a separate slice for nix-daemon that is + # # memory-managed by the userspace systemd-oomd killer + # slices."nix-daemon".sliceConfig = { + # ManagedOOMMemoryPressure = "kill"; + # ManagedOOMMemoryPressureLimit = "50%"; + # }; + # services."nix-daemon".serviceConfig.Slice = "nix-daemon.slice"; + + # # If a kernel-level OOM event does occur anyway, + # # strongly prefer killing nix-daemon child processes + # services."nix-daemon".serviceConfig.OOMScoreAdjust = 1000; + + # services."nix-daemon".serviceConfig.MemoryHigh = "16G"; + # services."nix-daemon".serviceConfig.MemoryMax = "20G"; + # }; + + # Disabling failing test + nixpkgs.overlays = [ (final: prev: { + upower = prev.upower.overrideAttrs (_: { doCheck = false; }); + gxml = prev.gxml.overrideAttrs (_: { doCheck = false; }); + # # orc = prev.orc.overrideAttrs (_: { doCheck = false; }); + # # gsl = prev.gsl.overrideAttrs (_: { doCheck = false; }); + # fprintd = prev.fprintd.overrideAttrs (super: { + # # doCheck = false; + # # buildInputs = super.buildInputs or [ ] ++ (with pkgs; [ libpam-wrapper (pkgs.python3.withPackages (python-pkgs: [ python-pkgs.pycairo python-pkgs.dbus-python python-pkgs.python-dbusmock ])) ]); + # mesonCheckFlags = [ + # # PAM related checks are timing out + # "--no-suite" "fprintd" + # ]; + # }); + # libsrtp = prev.libsrtp.overrideAttrs (_: { + # mesonFlags = [ + # "-Dcrypto-library=openssl" + # "-Dcrypto-library-kdf=disabled" + # "-Ddoc=disabled" + # "-Dtests=disabled" + # ]; + # }); + # # # haskellPackages.crypton = pkgs.haskell.lib.overrideCabal prev.crypton (_: { doCheck = false; }); + # # # haskellPackages.cryptonite = pkgs.haskell.lib.overrideCabal prev.cryptonite (_: { doCheck = false; }); + }) ]; + + # nixpkgs.config.packageOverrides = pkgs: { + # haskellPackages = pkgs.haskellPackages.override { + # overrides = hsSelf: hsSuper: { + # crypton = pkgs.haskell.lib.overrideCabal hsSuper.crypton (_: { doCheck = false; }); + # cryptonite = pkgs.haskell.lib.overrideCabal hsSuper.cryptonite (_: { doCheck = false; }); + # crypton-x509-validation = pkgs.haskell.lib.overrideCabal hsSuper.crypton-x509-validation (oa: { doCheck = false; }); + # tls = pkgs.haskell.lib.overrideCabal hsSuper.tls (oa: { doCheck = false; }); + # }; + # }; + # }; +} diff --git a/modules/common/default.nix b/modules/common/default.nix index a0605e8..0331a4c 100644 --- a/modules/common/default.nix +++ b/modules/common/default.nix @@ -60,12 +60,4 @@ }; flake = "/home/lyes/Documents/nixos"; }; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.11"; # Did you read the comment? } diff --git a/modules/common/system.nix b/modules/common/system.nix index 434a959..224dc65 100644 --- a/modules/common/system.nix +++ b/modules/common/system.nix @@ -2,7 +2,8 @@ { # Time - time.timeZone = "Europe/Paris"; + # time.timeZone = "Europe/Paris"; + time.timeZone = "Africa/Tunis"; # Locale i18n.defaultLocale = "fr_FR.UTF-8"; diff --git a/modules/desktop/networking.nix b/modules/desktop/networking.nix index 1ae2523..5c5a567 100644 --- a/modules/desktop/networking.nix +++ b/modules/desktop/networking.nix @@ -1,8 +1,13 @@ -{ ... }: +{ pkgs, ... }: { # Networking - networking.networkmanager.enable = true; + networking.networkmanager = { + enable = true; + plugins = with pkgs; [ + networkmanager-openvpn + ]; + }; networking.nameservers = [ "9.9.9.9" @@ -30,6 +35,8 @@ ''; }; + environment.systemPackages = with pkgs; [ wireguard-tools ]; + # Captive portals programs.captive-browser = { enable = true; diff --git a/modules/desktop/system.nix b/modules/desktop/system.nix index 8e0d61d..9b94daf 100644 --- a/modules/desktop/system.nix +++ b/modules/desktop/system.nix @@ -48,18 +48,6 @@ xdg.portal.enable = true; - # Sound - # services.pulseaudio.enable = false; - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - #jack.enable = true; - }; - # Virtualisation virtualisation.libvirtd.enable = true; # virtualisation.virtualbox.host.enable = true; diff --git a/users/lyes/desktop/default.nix b/users/lyes/desktop/default.nix index f975b76..fe52074 100644 --- a/users/lyes/desktop/default.nix +++ b/users/lyes/desktop/default.nix @@ -6,6 +6,13 @@ ./packages.nix ]; + home-manager.users.lyes = { ... }: { + imports = + [ + ./home.nix + ]; + }; + # Keyboard hardware.keyboard.qmk.enable = true; diff --git a/users/lyes/desktop/home.nix b/users/lyes/desktop/home.nix new file mode 100644 index 0000000..1be0255 --- /dev/null +++ b/users/lyes/desktop/home.nix @@ -0,0 +1,25 @@ +{ ... }: + +{ + # Should activate that and translate things + # xdg.userDirs.enable = true; + + services.mpd = { + enable = true; + musicDirectory = /home/lyes/Musique/MPD; + extraConfig = + '' + audio_output { + type "pipewire" + name "PipeWire Sound Server" + } + + audio_output { + type "fifo" + name "mpd" + path "~/.local/share/mpd/.mpd_fifo" + format "44100:16:2" + } + ''; + }; +} diff --git a/users/lyes/desktop/packages.nix b/users/lyes/desktop/packages.nix index 377caa3..355609d 100644 --- a/users/lyes/desktop/packages.nix +++ b/users/lyes/desktop/packages.nix @@ -36,7 +36,7 @@ in { element-desktop fractal zoom-us - cinny-desktop + # cinny-desktop # Image gimp @@ -58,6 +58,7 @@ in { # Audio helvum local.quadcastrgb + euphonica # Games heroic @@ -108,6 +109,9 @@ in { haskellPackages.Agda agdaPackages.standard-library elan + coq + coqPackages.vscoq-language-server + coqPackages.HoTT # Containers & VMs toolbox