new software added
This commit is contained in:
@ -6,6 +6,7 @@
|
|||||||
- [Nix basics](./nixbasics/index.md)
|
- [Nix basics](./nixbasics/index.md)
|
||||||
- [Flakes](./nixbasics/flakes.md)
|
- [Flakes](./nixbasics/flakes.md)
|
||||||
- [Types](./nixbasics/types.md)
|
- [Types](./nixbasics/types.md)
|
||||||
|
- [Language](./nixbasics/language.md)
|
||||||
- [Configuration](./configuration/index.md)
|
- [Configuration](./configuration/index.md)
|
||||||
- [Drivers](./configuration/drivers.md)
|
- [Drivers](./configuration/drivers.md)
|
||||||
- [GUI](./configuration/GUI.md)
|
- [GUI](./configuration/GUI.md)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Cleaning old packages
|
# Cleaning old packages
|
||||||
|
|
||||||
By default, packages installed will be kept after each rebuild, even if they are not active anymore.
|
By default, packages installed will be kept after each rebuild, even if they are not active anymore.
|
||||||
You can manually garbage collect with `nix-collect-garbage -d` to remove all the old generations.
|
You can manually garbage collect with `nix-collect-garbage -d` to remove all the old generations (`sudo` is needed for system packages).
|
||||||
|
|
||||||
One can however do this automatically using the following:
|
One can however do this automatically using the following:
|
||||||
```nix
|
```nix
|
||||||
|
@ -60,7 +60,7 @@ This assumes that we are installing on an x86 system, if not, change the system
|
|||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
home.packages = [
|
home.packages = with pkgs; [
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||||
# # "Hello, world!" when run.
|
# # "Hello, world!" when run.
|
||||||
# pkgs.hello
|
# pkgs.hello
|
||||||
|
@ -1 +1,22 @@
|
|||||||
# How to find new software and configure
|
# How to find new software and configure
|
||||||
|
|
||||||
|
So, you have a system, but how do you now install software that you want to use?
|
||||||
|
|
||||||
|
## Finding packages
|
||||||
|
[search.nixos.org](https://search.nixos.org/packages?channel=unstable) is the way to search for packages.
|
||||||
|
Lets say that you want to add `nnn` to your user via home-manager.
|
||||||
|
First, search and make sure that `nnn` is available using the link earlier, then add it to the list `home.packages` in `home.nix`.
|
||||||
|
If you want to add it to the system environment, then add it to the list `environment.systemPackages` in `configuration.nix`.
|
||||||
|
|
||||||
|
## Finding options
|
||||||
|
[search.nixos.org/options](https://search.nixos.org/options?channel=unstable) is the way to search for options.
|
||||||
|
Lets say, you want to enable adb, you can search adb.
|
||||||
|
The first option is `programs.adb.enable`, which says it enables adb, but you need to add your user to the `adbusers` group.
|
||||||
|
If you want to enable a service, such as `tailscale`, searching for it shows how to enable it.
|
||||||
|
But `service.tailscale` has a lot of extra options, that regulate how the service works.
|
||||||
|
`service.tailscale.useRoutingFeatures` for example determines how the system should handle routing.
|
||||||
|
|
||||||
|
## Finding options for Home-manager
|
||||||
|
[home-manager-options.extranix.com](https://home-manager-options.extranix.com/) is the way to search for options for use in home-manager.
|
||||||
|
It works in the same way as [Finding options](#finding-options), but using the previous link.
|
||||||
|
It would allow one to find and configure `yazi` for example.
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
Flakes are as of writing this guide still an experimental feature.
|
Flakes are as of writing this guide still an experimental feature.
|
||||||
However, flakes provide concepts that I feel are fundamental to the concepts of Nix.
|
However, flakes provide concepts that I feel are fundamental to the concepts of Nix.
|
||||||
|
|
||||||
What flakes does is similar to `package-lock.json` from **npm**.
|
What flakes does is similar to `package-lock.json` from `npm`.
|
||||||
It makes sure that the inputs that are used, for example **nixpkgs**, are kept to a specific version.
|
It makes sure that the inputs that are used, for example `nixpkgs`, are kept to a specific version.
|
||||||
|
|
||||||
To enable flakes to your config, add the following
|
To enable flakes to your config, add the following
|
||||||
```nix
|
```nix
|
||||||
|
1
src/nixbasics/language.md
Normal file
1
src/nixbasics/language.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# Language
|
Reference in New Issue
Block a user