Jump to content

Cheatsheet: Difference between revisions

nixos-rebuild switch was missing from install a package + split install pacakge from install service + use real examples like rest of the file in place of things like <other_packages> or <username>
imported>Rovanion
(Gathered from IRC.)
imported>Kimat
(nixos-rebuild switch was missing from install a package + split install pacakge from install service + use real examples like rest of the file in place of things like <other_packages> or <username>)
Line 58: Line 58:
| colspan="5" style="text-align:center"| Package management
| colspan="5" style="text-align:center"| Package management
|-
|-
|Install a package
|-
|Install a package for all users
|<syntaxhighlight lang="console">$ sudo apt-get install emacs</syntaxhighlight>
|<syntaxhighlight lang="console">$ sudo apt-get install emacs</syntaxhighlight>
|In /etc/nixos/configuration.nix:
|
If it's a program add to systemPackages:
1. Add to /etc/nixos/configuration.nix:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs;
environment.systemPackages = with pkgs; [
                    [ <other packages...> emacs ];</syntaxhighlight>
  wget # let's assume wget was already present
If it's a service add:
  emacs
 
];</syntaxhighlight>
<syntaxhighlight lang="nix">services.openssh.enable = true;</syntaxhighlight>
2. Run :
<syntaxhighlight lang="console">$ sudo nixos-rebuild switch</syntaxhighlight>
|<syntaxhighlight lang="console">$ nix-env -i emacs</syntaxhighlight>
|<syntaxhighlight lang="console">$ nix-env -i emacs</syntaxhighlight>
Or with collections, add the package to your ~/.nixpkgs/config.nix and run
Or with collections, add the package to your ~/.nixpkgs/config.nix and run
<syntaxhighlight lang="console">$ nix-env -i all</syntaxhighlight>
<syntaxhighlight lang="console">$ nix-env -i all</syntaxhighlight>
Since 17.09pre:
|-
<syntaxhighlight lang="nix">users.users.<username>.packages =
|Install a package for a specific user only
          with pkgs;[ emacs ];</syntaxhighlight>
|Not possible
|
1. Add to /etc/nixos/configuration.nix:
<syntaxhighlight lang="nix">
users.users.alice.packages = with pkgs; [ emacs ];</syntaxhighlight>
2. Run:
<syntaxhighlight lang="console">$ sudo nixos-rebuild switch</syntaxhighlight>
|
1. Add to ~/.nixpkgs/config.nix:
<syntaxhighlight lang="nix">users.users.alice.packages = with pkgs;[ emacs ];</syntaxhighlight>
2. Run:
<syntaxhighlight lang="console">$ nix-env -i all</syntaxhighlight>
|-
|Install a service
|<syntaxhighlight lang="console">$ sudo apt install openssh-server</syntaxhighlight>
|
1. Add to /etc/nixos/configuration.nix:
<syntaxhighlight lang="nix">services.openssh.enable = true;</syntaxhighlight>
2. Run: <syntaxhighlight lang="console">$ sudo nixos-rebuild switch</syntaxhighlight>
|Not possible
|-
|-
|Uninstall a package
|Uninstall a package
Anonymous user