From 8c49e28ea34666d100cf6cc59b48943c9860a8f1 Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Fri, 28 Mar 2025 16:29:37 +0100 Subject: [PATCH] Refactoring and adding emacs config --- flake.lock | 30 ++++---- modules/desktop/packages.nix | 40 +---------- users/lyes/common/default.nix | 17 +---- users/lyes/default.nix | 1 + users/lyes/desktop/default.nix | 14 +++- users/lyes/desktop/packages.nix | 101 ++++++++++++++++++++++++++- users/lyes/home/default.nix | 23 ++++++ users/lyes/home/editors/default.nix | 8 +++ users/lyes/home/editors/emacs.nix | 15 ++++ users/lyes/{common => home}/home.nix | 0 10 files changed, 178 insertions(+), 71 deletions(-) create mode 100644 users/lyes/home/default.nix create mode 100644 users/lyes/home/editors/default.nix create mode 100644 users/lyes/home/editors/emacs.nix rename users/lyes/{common => home}/home.nix (100%) diff --git a/flake.lock b/flake.lock index 3176f43..e927a66 100644 --- a/flake.lock +++ b/flake.lock @@ -91,11 +91,11 @@ ] }, "locked": { - "lastModified": 1742234739, - "narHash": "sha256-zFL6zsf/5OztR1NSNQF33dvS1fL/BzVUjabZq4qrtY4=", + "lastModified": 1742655702, + "narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f6af7280a3390e65c2ad8fd059cdc303426cbd59", + "rev": "0948aeedc296f964140d9429223c7e4a0702a1ff", "type": "github" }, "original": { @@ -123,11 +123,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1742631601, - "narHash": "sha256-yJ3OOAmsGAxSl0bTmKUp3+cEYtSS+V6hUPK2rYhIPr8=", + "lastModified": 1743167577, + "narHash": "sha256-I09SrXIO0UdyBFfh0fxDq5WnCDg8XKmZ1HQbaXzMA1k=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "380ed15bcd6440606c6856db44a99140d422b46f", + "rev": "0ed819e708af17bfc4bbc63ee080ef308a24aa42", "type": "github" }, "original": { @@ -155,11 +155,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1742422364, - "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "lastModified": 1742889210, + "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "rev": "698214a32beb4f4c8e3942372c694f40848b360d", "type": "github" }, "original": { @@ -171,11 +171,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742512142, - "narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=", + "lastModified": 1742937945, + "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7105ae3957700a9646cc4b766f5815b23ed0c682", + "rev": "d02d88f8de5b882ccdde0465d8fa2db3aa1169f7", "type": "github" }, "original": { @@ -233,11 +233,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1742614294, - "narHash": "sha256-bZbYlP/xqGyW2aVle742dFbc0npFnwJBzcEnXNywJgY=", + "lastModified": 1743132999, + "narHash": "sha256-cEqYQFxW8Uua64LckWpGrrqKIbPs/u+j2RnanhX35Js=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "7fa9ec4e14d89e568ebaac302049980df7cf0cc9", + "rev": "9c81e4bb852d4bcb1ba525fa20d7cd2778453d2d", "type": "github" }, "original": { diff --git a/modules/desktop/packages.nix b/modules/desktop/packages.nix index 2620d0b..19c6919 100644 --- a/modules/desktop/packages.nix +++ b/modules/desktop/packages.nix @@ -52,6 +52,7 @@ noto-fonts-lgc-plus noto-fonts-emoji cantarell-fonts + unstable.adwaita-fonts twitter-color-emoji twemoji-color-font (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) @@ -62,47 +63,10 @@ useEmbeddedBitmaps = true; defaultFonts = { - sansSerif = [ "Cantarell" "Noto Sans" ]; + sansSerif = [ "Adwaita" "Noto Sans" ]; monospace = [ "JetBrainsMono Nerd Font" ]; emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ]; }; }; }; - - nixpkgs.overlays = [ - # Version pins - (final: prev: { - # dolphin-emu = prev.dolphin-emu.overrideAttrs (super: { - # version = "2407"; - # commit = "b92e354389bb7c0bd114a8631b8af110d3cb3a14"; - - # src = pkgs.fetchFromGitHub { - # owner = "dolphin-emu"; - # repo = "dolphin"; - # rev = "heads/refs/tags/${final.dolphin-emu.version}"; - # hash = "sha256-8W4KyIj+rhDkWnQogjpzlEJVo3HJenfpWKimSyMGN7c="; - # fetchSubmodules = true; - # }; - - # cmakeFlags = [ - # "-DDISTRIBUTOR=NixOS" - # "-DDOLPHIN_WC_BRANCH=${final.dolphin-emu.src.rev}" - # "-DDOLPHIN_WC_DESCRIBE=${final.dolphin-emu.version}" - # "-DDOLPHIN_WC_REVISION=${final.dolphin-emu.commit}" - # ]; - # }); - # mesa = final.mesa-24-2-4.mesa; - # mesa = prev.mesa.overrideAttrs (super: { - # version = "24.2.4"; - - # src = pkgs.fetchFromGitLab { - # domain = "gitlab.freedesktop.org"; - # owner = "mesa"; - # repo = "mesa"; - # rev = "mesa-24.2.4"; - # hash = "sha256-pgyvgMHImWO+b4vpCCe4+zOI98XCqcG8NRWpIcImGUk="; - # }; - # }); - }) - ]; } diff --git a/users/lyes/common/default.nix b/users/lyes/common/default.nix index 15f89f7..77477d3 100644 --- a/users/lyes/common/default.nix +++ b/users/lyes/common/default.nix @@ -1,10 +1,9 @@ -{ pkgs, home-manager, ... }: +{ pkgs, ... }: { imports = [ ./packages.nix - home-manager.nixosModules.default ]; users.users.lyes = { @@ -15,18 +14,4 @@ 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"; - }; } diff --git a/users/lyes/default.nix b/users/lyes/default.nix index e02d7ed..6530d49 100644 --- a/users/lyes/default.nix +++ b/users/lyes/default.nix @@ -4,5 +4,6 @@ imports = [ ./common + ./home ]; } diff --git a/users/lyes/desktop/default.nix b/users/lyes/desktop/default.nix index 4934d9a..f975b76 100644 --- a/users/lyes/desktop/default.nix +++ b/users/lyes/desktop/default.nix @@ -1,8 +1,20 @@ -{ ... }: +{ pkgs, ... }: { imports = [ ./packages.nix ]; + + # Keyboard + hardware.keyboard.qmk.enable = true; + + services.udev = { + packages = with pkgs; [ + qmk + qmk-udev-rules + qmk_hid + via + ]; + }; } diff --git a/users/lyes/desktop/packages.nix b/users/lyes/desktop/packages.nix index 15cc821..ed11f4a 100644 --- a/users/lyes/desktop/packages.nix +++ b/users/lyes/desktop/packages.nix @@ -64,7 +64,7 @@ in { parsec-bin unstable.suyu # suyu - # factorio + factorio # Reading # calibre @@ -109,6 +109,7 @@ in { # Utilities ghostty + via # Proton protonmail-bridge-gui @@ -121,4 +122,102 @@ in { # pulseaudio libopus ]; + + system.extraDependencies = with pkgs; [ + factorio.src + ]; + + nixpkgs.overlays = [ + # Version pins + (final: prev: { + # factorio = prev.factorio.overrideAttrs (super: { + # version = "2.0.42"; + # # src.name = "factorio_alpha_x64-2.0.42.tar.xz"; + # # src.sha256 = "1zq6wcqkmn9bzys27v0jlk9m9m1jhaai1mybdv8hz7p2si4l76n9"; + # src = "/nix/store/b9y0dwgxa6hpddrd8nn0g2fizxl3xss7-factorio_alpha_x64-2.0.42.tar.xz"; + # }); + # factorio = prev.factorio.overrideAttrs (super: { + # username = "ntlyes"; + # token = ""; + # src = + # (pkgs.fetchurl { + # name = super.src.name; + # url = super.src.url; + # sha256 = "sha256-83GCCvULfgEHBBLN3HUlw9jJR5jwQau2XsEo5PFeboc="; + # }); + # preHook = + # '' + # echo -n "ntlyes" > username + # cp ${config.age.secrets.factorio.path} token + # ''; + # # (lib.overrideDerivation + # # (fetchurl { + # # name = "alpha"; + # # url = ""; + # # inherit name url sha256; + # # curlOptsList = [ + # # "--get" + # # "--data-urlencode" + # # "username@username" + # # "--data-urlencode" + # # "token@token" + # # ]; + # # }) + # # (_: { + # # # This preHook hides the credentials from /proc + # # preHook = + # # if username != "" && token != "" then + # # '' + # # echo -n "${username}" >username + # # echo -n "${token}" >token + # # '' + # # else + # # '' + # # # Deliberately failing since username/token was not provided, so we can't fetch. + # # # We can't use builtins.throw since we want the result to be used if the tar is in the store already. + # # exit 1 + # # ''; + # # failureHook = '' + # # cat <