The Github doesn't provide country code for Brazil (+55). To add this option, just run the code below in your console. The option Brazil +55
will be the first on the list, already selected:
🇧🇷 [pt-BR]
The Github doesn't provide country code for Brazil (+55). To add this option, just run the code below in your console. The option Brazil +55
will be the first on the list, already selected:
🇧🇷 [pt-BR]
In the following example, sddm
will be used as a display manager. The process is however similar for other display managers in nixpkgs and a summary that applies to all nixpkgs display managers is given at the end.
Systemd unit "display-manager.service" starts services.x11.displayManager.job.execCmd
(the display manager)
Code reference: <nixpkgs>/nixos/modules/services/x11/xserver.nix
services.x11.displayManager.job.execCmd
is set to the path of the sddm
binary from the sddm
package in the nix store. So SDDM will start and read its configuration from /etc/sddm.conf
.
This is an example of how to pin the version of nixpkgs in a package repo. The goal is to improve reproducibility, make sure all the developers use the same version of nixpkgs and also allow to share binary caches.
Put all these files in a nixpkgs
folder and then in other derivations, instead of import <nixpkgs> {}
use import ./path/to/nixpkgs {}
self: super: | |
{ | |
# Install overlay: | |
# $ mkdir -p ~/.config/nixpkgs/overlays | |
# $ curl https://gist.githubusercontent.com/LnL7/570349866bb69467d0caf5cb175faa74/raw/3f3d53fe8e8713ee321ee894ecf76edbcb0b3711/lnl-overlay.nix -o ~/.config/nixpkgs/overlays/lnl.nix | |
userPackages = super.userPackages or {} // { | |
# Example: | |
hello = self.hello; |
For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.
After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft
Well, that was unexpected. In the following, I’m trying to follow Jon Evans’ advice from “The Terrible Technical Interview”.
To: recruitment@EmployerABC.com
From: Ahmed Fasih
Subject: Re: Programming Test Invitation
Hi there! Thanks for offering to let me take a HackerRank test for ABC, I appreciate the vote of confidence.
direnv
Nix integration from projects loads a Nix shell every new terminal or every time shell.nix
and/or default.nix
changes. On larger projects with a lot of Nix shell dependencies, that can cause the terminal to take more than 6 seconds to load, which significantly degrades the developer experience (DX).with import ./lisp.nix { a = null; }; eval | |
(defun fib (n) | |
(defun fib2 (a b n) | |
(iff (lt n 2) b | |
(def (next (plus a b)) | |
(fib2 b next (minus n 1)))) | |
(fib2 0 1 n)) | |
(fib 60)) |
This is one way of managing your user profile declaratively.
Alternatives include:
nix-env
-based environment, installed using nix-env -ir
rather than nix-env --set
. LnL has an overlay which shows a way of doing this.$HOME
Note that this is incompatible with regular imperative use of nix-env
, e.g. nix-env -iA nixpkgs.hello
. It has the advantage of allowing the installation of multiple outputs of the same package much better than nix-env
's builtin profile builder does.