Shareni@programming.dev to linuxmemes@lemmy.world · 8 months agoThe genesis of a nixOS userprogramming.devimagemessage-square27fedilinkarrow-up1149arrow-down114file-textcross-posted to: [email protected]
arrow-up1135arrow-down1imageThe genesis of a nixOS userprogramming.devShareni@programming.dev to linuxmemes@lemmy.world · 8 months agomessage-square27fedilinkfile-textcross-posted to: [email protected]
minus-squareShareni@programming.devOPlinkfedilinkarrow-up3arrow-down1·8 months agoIt’s pretty easy for home-manager use, but still really useful. You can: choose which packages to install from stable and which from unstable add packages from repos that have flake.nix in them correctly match nix and home-manager versions, and always update them at the same time allow-unfree without nixpkgs conf, so 1 less directory required in .config (if they accepted the “experimental” features it’d be down to 1) Here’s an example: flake.nix { description = "home flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; # nixgl.url = "github:guibou/nixGL"; }; outputs = { self, nixpkgs, nixpkgs-stable, home-manager, # nixgl, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; pkgsStable = import nixpkgs-stable { system = system; config = { allowUnfree = true; }; }; in { homeConfigurations = { shareni = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs; inherit system; kmonad = pkgsStable.kmonad; }; }; }; }; }
minus-squarePuddleOfKittens@kbin.sociallinkfedilinkarrow-up2arrow-down1·edit-28 months agoThe ‘code’ tag here does not respect newlines, I tried to fix it but this is the best I could do: `{ description = “home flake”; inputs = { nixpkgs.url = “github:nixos/nixpkgs/nixos-unstable”; home-manager.url = “github:nix-community/home-manager/master”; home-manager.inputs.nixpkgs.follows = “nixpkgs”; nixpkgs-stable.url = “github:nixos/nixpkgs/nixos-23.11”; # nixgl.url = “github:guibou/nixGL”; }; outputs = { self, nixpkgs, nixpkgs-stable, home-manager, # nixgl, … } @inputs: let system = “x86_64-linux”; pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; pkgsStable = import nixpkgs-stable { system = system; config = { allowUnfree = true; }; }; in { homeConfigurations = { shareni = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs; inherit system; kmonad = pkgsStable.kmonad; }; }; }; }; }`
minus-squareShareni@programming.devOPlinkfedilinkarrow-up3arrow-down1·8 months agoIt’s working perfectly fine for me on desktop, jerboa, and voyager. Also, add a spoiler.
minus-squarecally [he/they]@pawb.sociallinkfedilinkEnglisharrow-up1·8 months ago The ‘code’ tag here does not respect newlines, Now there’s a newline between every single line of code
It’s pretty easy for home-manager use, but still really useful. You can:
Here’s an example:
flake.nix
{ description = "home flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; # nixgl.url = "github:guibou/nixGL"; }; outputs = { self, nixpkgs, nixpkgs-stable, home-manager, # nixgl, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; pkgsStable = import nixpkgs-stable { system = system; config = { allowUnfree = true; }; }; in { homeConfigurations = { shareni = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs; inherit system; kmonad = pkgsStable.kmonad; }; }; }; }; }
The ‘code’ tag here does not respect newlines, I tried to fix it but this is the best I could do:
`{ description = “home flake”;
inputs = { nixpkgs.url = “github:nixos/nixpkgs/nixos-unstable”; home-manager.url = “github:nix-community/home-manager/master”; home-manager.inputs.nixpkgs.follows = “nixpkgs”; nixpkgs-stable.url = “github:nixos/nixpkgs/nixos-23.11”; # nixgl.url = “github:guibou/nixGL”;
};
outputs = { self, nixpkgs, nixpkgs-stable, home-manager, # nixgl, … }
@inputs:
let system = “x86_64-linux”; pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; pkgsStable = import nixpkgs-stable { system = system; config = { allowUnfree = true; }; }; in { homeConfigurations = { shareni = home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs; inherit system; kmonad = pkgsStable.kmonad; }; }; }; };
}`
It’s working perfectly fine for me on desktop, jerboa, and voyager. Also, add a spoiler.
Now there’s a newline between every single line of code