From 46aa44a23e445613ccc7d39c3f9c46e9ac321602 Mon Sep 17 00:00:00 2001 From: Leyla Becker Date: Mon, 11 Mar 2024 01:57:17 -0500 Subject: [PATCH] added home manager for leyla --- enviroments/client/default.nix | 6 ++- flake.lock | 8 ++-- flake.nix | 2 +- users/default.nix | 4 +- users/leyla/default.nix | 2 + users/leyla/home.nix | 82 ++++++++++++++++++++++++++++++++++ users/leyla/packages.nix | 4 +- 7 files changed, 99 insertions(+), 9 deletions(-) create mode 100644 users/leyla/home.nix diff --git a/enviroments/client/default.nix b/enviroments/client/default.nix index 239058c..fc05ac1 100644 --- a/enviroments/client/default.nix +++ b/enviroments/client/default.nix @@ -23,8 +23,10 @@ # Configure keymap in X11 services.xserver = { - layout = "us,it,de"; - xkbVariant = ""; + xkb = { + layout = "us,it,de"; + variant = ""; + }; }; # Enable sound with pipewire. diff --git a/flake.lock b/flake.lock index f13caba..eb6a19f 100644 --- a/flake.lock +++ b/flake.lock @@ -22,16 +22,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709884566, - "narHash": "sha256-NSYJg2sfdO/XS3L8XN/59Zhzn0dqWm7XtVnKI2mHq3w=", + "lastModified": 1709961763, + "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2be119add7b37dc535da2dd4cba68e2cf8d1517e", + "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index bc7b3d1..43f8cd7 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "Nixos config flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; sops-nix.url = "github:Mic92/sops-nix"; diff --git a/users/default.nix b/users/default.nix index 077fda5..97133d9 100644 --- a/users/default.nix +++ b/users/default.nix @@ -1,6 +1,8 @@ -{ ... }: +{ inputs, ... }: { imports = [ ./leyla ./ester ./eve ./remote ]; users.mutableUsers = false; + + home-manager.extraSpecialArgs = { inherit inputs; }; } \ No newline at end of file diff --git a/users/leyla/default.nix b/users/leyla/default.nix index 96ea3cb..8745e7b 100644 --- a/users/leyla/default.nix +++ b/users/leyla/default.nix @@ -43,5 +43,7 @@ in } ) ]; + + home-manager.users.leyla = lib.mkIf cfg.isNormalUser (import ./home.nix); }; } \ No newline at end of file diff --git a/users/leyla/home.nix b/users/leyla/home.nix new file mode 100644 index 0000000..baf2ebf --- /dev/null +++ b/users/leyla/home.nix @@ -0,0 +1,82 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "leyla"; + home.homeDirectory = "/home/leyla"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "23.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = [ + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/leyla/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + }; + + programs = { + # Let Home Manager install and manage itself. + home-manager.enable = true; + git = { + enable = true; + userName = "Leyla Becker"; + userEmail = "git@jan-leila.com"; + }; + }; +} diff --git a/users/leyla/packages.nix b/users/leyla/packages.nix index 554b8c0..c1311a7 100644 --- a/users/leyla/packages.nix +++ b/users/leyla/packages.nix @@ -74,8 +74,10 @@ in # steam # emulators # nintendo + # TODO: replace this with self hosted flake (lib.mkIf cfg.hasGPU yuzu-mainline) # Switch Emulator - citra-canary # 3DS emulator + # TODO: replace this with self hosted flake + # citra-canary # 3DS emulator (lib.mkIf cfg.hasGPU cemu) # Wii-U emulator dolphin-emu # GameCube and Wii Emulator desmume # DS Emulator