diff --git a/flake.lock b/flake.lock index 05ed3b7..c53cb24 100644 --- a/flake.lock +++ b/flake.lock @@ -23,16 +23,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1686431482, - "narHash": "sha256-oPVQ/0YP7yC2ztNsxvWLrV+f0NQ2QAwxbrZ+bgGydEM=", + "lastModified": 1714076141, + "narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2", + "rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 8412570..bef3df2 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { # Nixpkgs - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # You can access packages and modules from different nixpkgs revs # at the same time. Here's an working example: nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -13,9 +13,6 @@ home-manager.url = "github:nix-community/home-manager/release-23.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - # TODO: Add any other flake you might need - # hardware.url = "github:nixos/nixos-hardware"; - # Shameless plug: looking for a way to nixify your themes and make # everything match nicely? Try nix-colors! # nix-colors.url = "github:misterio77/nix-colors"; @@ -57,24 +54,27 @@ homeManagerModules = import ./modules/home-manager; # NixOS configuration entrypoint - # Available through 'nixos-rebuild --flake .#your-hostname' nixosConfigurations = { #Personal laptop, thinkpad t490 athame = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs outputs;}; + specialArgs = { + inherit inputs outputs; + hostname = "athame"; + }; modules = [ - # > Our main nixos configuration file < - ./nixos/kde-desktop.nix ./nixos/configuration.nix + ./nixos/kde-desktop.nix ]; }; #Work laptop, dell g15. metatron = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs outputs;}; + specialArgs = { + inherit inputs outputs; + hostname = "metatron"; + }; modules = [ - # > Our main nixos configuration file < - ./nixos/kde-desktop.nix ./nixos/configuration.nix + ./nixos/kde-desktop.nix ]; }; }; diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 4f86b8f..c129bbf 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,6 +1,6 @@ # This is your system's configuration file. # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) -{ inputs, outputs, lib, config, pkgs, hostname, ... }: { +{ inputs, outputs, lib, config, pkgs, hostname, specialArgs, ... }: { # You can import other NixOS modules here imports = [ # If you want to use modules your own flake exports (from modules/nixos): @@ -42,6 +42,8 @@ }; }; + networking.hostName = specialArgs.hostname; # Define your hostname. + # This will add each flake input as a registry # To make nix3 commands consistent with your flake nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs); diff --git a/nixos/kde-desktop.nix b/nixos/kde-desktop.nix index 424131e..c4cdc95 100644 --- a/nixos/kde-desktop.nix +++ b/nixos/kde-desktop.nix @@ -3,17 +3,64 @@ { # Enable the KDE Desktop Environment. services.xserver.enable = true; - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.displayManager.sddm.wayland.enable = true; + services.displayManager.defaultSession = "plasma"; + + boot.plymouth.enable = true; + boot.plymouth.theme="breeze"; + + hardware.opengl.enable = true; + services.fprintd.enable = true; services.printing.enable = true; environment.systemPackages = with pkgs; [ - pkgs.firefox pkgs.krfb pkgs.krdc + pkgs.libreoffice-qt + pkgs.filelight + pkgs.hunspell + pkgs.hunspellDicts.en_CA + pkgs.hunspellDicts.en_US + pkgs.openscad + pkgs.inkscape + pkgs.blender + pkgs.gimp + pkgs.krita ]; + programs.firefox = { + enable = true; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value= true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + DisablePocket = true; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + DontCheckDefaultBrowser = true; + Preferences = { + "widget.use-xdg-desktop-portal.file-picker" = 1; + }; + ExtensionSettings = { + "*".installation_mode = "blocked"; # blocks all addons except the ones specified below + # uBlock Origin: + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "normal_installed"; + }; + }; + }; + }; + + sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true;