Refactoring and adding emacs config

This commit is contained in:
Lyes Saadi 2025-03-28 16:29:37 +01:00
parent 49ad024034
commit 8c49e28ea3
Signed by: lyes
GPG key ID: 55A1D803917CF39A
10 changed files with 178 additions and 71 deletions

View file

@ -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";
};
}

View file

@ -4,5 +4,6 @@
imports =
[
./common
./home
];
}

View file

@ -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
];
};
}

View file

@ -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 <<EOF
# # ${helpMsg}
# # EOF
# # '';
# # })
# # );
# });
# 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=";
# };
# });
})
];
}

View file

@ -0,0 +1,23 @@
{ home-manager, ... }:
{
imports =
[
home-manager.nixosModules.default
];
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.users.lyes = { ... }: {
imports =
[
./editors
./home.nix
];
home.username = "lyes";
home.homeDirectory = "/home/lyes";
home.stateVersion = "22.11";
};
}

View file

@ -0,0 +1,8 @@
{ ... }:
{
imports =
[
./emacs.nix
];
}

View file

@ -0,0 +1,15 @@
{ pkgs, ... }:
{
programs.emacs = {
enable = true;
package = pkgs.emacs-nox;
extraPackages = p: with p; [
agda2-mode
gruvbox-theme
];
extraConfig = ''
(load-theme 'gruvbox-dark-hard)
'';
};
}