this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(nix): add home-manager

+126 -3
+22
nix/flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "home-manager": { 4 + "inputs": { 5 + "nixpkgs": [ 6 + "nixpkgs" 7 + ] 8 + }, 9 + "locked": { 10 + "lastModified": 1745557122, 11 + "narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=", 12 + "owner": "nix-community", 13 + "repo": "home-manager", 14 + "rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1", 15 + "type": "github" 16 + }, 17 + "original": { 18 + "owner": "nix-community", 19 + "ref": "release-24.11", 20 + "repo": "home-manager", 21 + "type": "github" 22 + } 23 + }, 3 24 "nix-darwin": { 4 25 "inputs": { 5 26 "nixpkgs": [ ··· 39 60 }, 40 61 "root": { 41 62 "inputs": { 63 + "home-manager": "home-manager", 42 64 "nix-darwin": "nix-darwin", 43 65 "nixpkgs": "nixpkgs" 44 66 }
+7 -3
nix/flake.nix
··· 5 5 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 6 6 nix-darwin.url = "github:LnL7/nix-darwin/master"; 7 7 nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; 8 - # home-manager.url = "github:nix-community/home-manager/release-24.05"; 9 - # home-manager.inputs.nixpkgs.follows = "nixpkgs"; 8 + home-manager.url = "github:nix-community/home-manager/release-24.11"; 9 + home-manager.inputs.nixpkgs.follows = "nixpkgs"; 10 10 }; 11 11 12 - outputs = inputs@{ self, nix-darwin, nixpkgs }: 12 + outputs = inputs@{ self, nix-darwin, nixpkgs, home-manager }: 13 13 let 14 14 configuration = { pkgs, ... }: { 15 15 # List packages installed in system profile. To search by name, run: ··· 48 48 # home-manager.darwinModules.home-manager 49 49 configuration 50 50 ]; 51 + }; 52 + homeConfigurations."ubuntu" = home-manager.lib.homeManagerConfiguration { 53 + pkgs = nixpkgs.legacyPackages."aarch64-linux"; 54 + modules = [ ./home.nix ]; 51 55 }; 52 56 }; 53 57 }
+97
nix/home.nix
··· 1 + { config, pkgs, ... }: 2 + 3 + # NOTE: I use nix as a package manager, not to make revisions for my entire dotfiles 4 + # I want nix to organize files and automate symlinking 5 + 6 + { 7 + # Home Manager needs a bit of information about you and the paths it should 8 + # manage. 9 + home.username = "ubuntu"; 10 + home.homeDirectory = "/home/ubuntu"; 11 + 12 + # This value determines the Home Manager release that your configuration is 13 + # compatible with. This helps avoid breakage when a new Home Manager release 14 + # introduces backwards incompatible changes. 15 + # 16 + # You should not change this value, even if you update Home Manager. If you do 17 + # want to update the value, then make sure to first check the Home Manager 18 + # release notes. 19 + home.stateVersion = "24.05"; # Please read the comment before changing. 20 + 21 + # The home.packages option allows you to install Nix packages into your 22 + # environment. 23 + home.packages = [ 24 + # # Adds the 'hello' command to your environment. It prints a friendly 25 + # # "Hello, world!" when run. 26 + # pkgs.hello 27 + # pkgs.neovim 28 + pkgs.sumneko-lua-language-server 29 + pkgs.janet 30 + # pkgs.jpm 31 + pkgs.cachix 32 + pkgs.helix 33 + # pkgs.emscripten 34 + # pkgs.neovim-nightly 35 + 36 + # # It is sometimes useful to fine-tune packages, for example, by applying 37 + # # overrides. You can do that directly here, just don't forget the 38 + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of 39 + # # fonts? 40 + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) 41 + 42 + # # You can also create simple shell scripts directly inside your 43 + # # configuration. For example, this adds a command 'my-hello' to your 44 + # # environment: 45 + # (pkgs.writeShellScriptBin "my-hello" '' 46 + # echo "Hello, ${config.home.username}!" 47 + # '') 48 + ]; 49 + 50 + # Home Manager is pretty good at managing dotfiles. The primary way to manage 51 + # plain files is through 'home.file'. 52 + home.file = { 53 + # # Building this configuration will create a copy of 'dotfiles/screenrc' in 54 + # # the Nix store. Activating the configuration will then make '~/.screenrc' a 55 + # # symlink to the Nix store copy. 56 + # ".screenrc".source = dotfiles/screenrc; 57 + 58 + # # You can also set the file content immediately. 59 + # ".gradle/gradle.properties".text = '' 60 + # org.gradle.console=verbose 61 + # org.gradle.daemon.idletimeout=3600000 62 + # ''; 63 + }; 64 + 65 + # Home Manager can also manage your environment variables through 66 + # 'home.sessionVariables'. These will be explicitly sourced when using a 67 + # shell provided by Home Manager. If you don't want to manage your shell 68 + # through Home Manager then you have to manually source 'hm-session-vars.sh' 69 + # located at either 70 + # 71 + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh 72 + # 73 + # or 74 + # 75 + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh 76 + # 77 + # or 78 + # 79 + # /etc/profiles/per-user/ubuntu/etc/profile.d/hm-session-vars.sh 80 + # 81 + home.sessionVariables = { 82 + # EDITOR = "nvim"; 83 + # JANET_MODPATH = "${pkgs.janet}/lib/janet"; 84 + # JANET_SYSPATH = "${pkgs.janet}/lib/janet"; 85 + # JANET_LIBPATH = "${pkgs.janet}/lib"; 86 + # JANET_HEADERPATH = "${pkgs.janet}/include/janet"; 87 + 88 + # JANET_MODPATH = "/home/ubuntu/.local/lib/janet"; 89 + # JANET_SYSPATH = "/home/ubuntu/.local/lib/janet"; 90 + # JANET_LIBPATH = "/home/ubuntu/.local/lib"; 91 + # JANET_MANPATH = "/home/ubuntu/.local/man/man1"; 92 + # JANET_HEADERPATH = "/home/ubuntu/.local/include/janet"; 93 + }; 94 + 95 + # Let Home Manager install and manage itself. 96 + programs.home-manager.enable = true; 97 + }