Hi everyone!
I’m new to the NixOS, and I hope to be part of its community… but not until I reach to install it
I’ve used examples across the Internet to make my own configuration.nix. Here it is :
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix # Include the results of the hardware scan.
];
nixpkgs.config.allowUnfree = true;
boot = {
cleanTmpDir = true; # Clean /tmp at boot time
loader = {
efi = {
canTouchEfiVariables = true; # Allow EFI variable modifications
efiSysMountPoint = "/boot";
};
grub = {
enable = true;
efiSupport = true;
useOSProber = true; # Make other OSs available
version = 2;
device = "/dev/disk/by-label/boot";
theme = pkgs.nixos-grub2-theme;
};
};
};
networking = {
hostName = "Dauthdaert";
networkmanager.enable = true;
useDHCP = false; # global useDHCP flag is deprecated
interfaces.enp5s0.useDHCP = true;
firewall = {
enable = true;
/*
allowedTCPPorts = [];
allowedUDPPorts = [];
*/
};
};
/* hardware.pulseaudio = {
extraModules = [ pkgs.pulseaudio-modules-bt ];
package = pkgs.pulseaudioFull; # support for bluetooth headsets
};
hardware.bluetooth.enable = true; */
sound.enable = true;
hardware.pulseaudio.enable = true;
hardware.opengl.driSupport32Bit = true;
hardware.pulseaudio.support32Bit = true;
console = {
keyMap = "fr";
font = "Lat2-Terminus16";
earlySetup = true;
};
i18n.defaultLocale = "fr_FR.UTF-8";
time.timeZone = "Europe/Paris";
time.hardwareClockInLocalTime = true;
environment.variables = {
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_DESKTOP_DIR = "$HOME/board";
XDG_DOWNLOAD_DIR = "$HOME/dl";
XDG_TEMPLATES_DIR = "$HOME/layout";
XDG_PUBLICSHARE_DIR = "$HOME/everyone";
XDG_DOCUMENTS_DIR = "$HOME/files";
XDG_MUSIC_DIR = "$HOME/zic";
XDG_PICTURES_DIR = "$HOME/pic";
XDG_VIDEOS_DIR = "$HOME/vid";
TERMINAL = "alacritty";
};
users.defaultUserShell = pkgs.zsh;
services = {
xserver = {
enable = true;
exportConfiguration = true; # symlink the config to /etc/X11/xorg.conf
layout = "fr";
displayManager = {
sddm.enable = true;
sddm.theme = "clairvoyance";
defaultSession = "none+awesome";
};
windowManager.awesome = {
enable = true;
luaModules = with pkgs.luaPackages; [
luarocks # package manager for Lua modules
/* luadbi-mysql # Database abstraction layer #What for ? */
];
};
/* synaptics = {
twoFingerScroll = true; # Two finger scroll for touchpad
horizTwoFingerScroll = true; # Two finger horizontal scrolling
}; */
};
avahi = {
enable = true;
nssmdns = true;
};
openssh = {
enable = true;
forwardX11 = true; # Allow Helgrind/Dauthdaert to connect to each other
allowSFTP = false; # I have syncthing
};
picom = {
enable = true;
shadow = true;
fade = true;
fadeDelta = 2;
};
devmon.enable = true; # Auto mount USBs
syncthing = {
enable = true;
openDefaultPorts = true;
/* relay.enable = true; */
user = "sinux";
};
};
security.sudo = {
enable = true;
wheelNeedsPassword = true;
};
users.users.sinux = {
isNormalUser = true;
uid = 1000;
group = "sinux";
shell = pkgs.zsh;
extraGroups = [
"wheel" #for sudo
"video" # 2D/3D hardware acceleration & camera
"audio" # Access sound hardware
/* "libvirtd"
"kvm"
"adbusers" */
"docker"
"storage" # Access storage devices
];
};
/*
fileSystems = [
"/".label = "nixos";
"/boot".label = "boot";
];
*/
# LOCKING
/* programs.slock.enable = true; */
/* services.logind.extraConfig = ''
HandlePowerKey=hibrid-sleep
IdleAction=hybrid-sleep
IdleActionSec=30min
''; */
/* systemd.services.locking = { #Not with SSDM...
description = "Lock screen before sleep with slock";
wantedBy = "suspend.targer";
before = "suspend.targer";
serviceConfig.Type = "oneshot";
User = "root";
script = "slock";
}; */
programs = {
zsh = {
shellAliases = {
ls = "exa";
cat = "bat";
vim = "nvr";
};
enableCompletion = true;
};
};
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
## COMMAND LINE
docker-compose
bat # Better cat
fzf # Search through files
feh # Image viewer
git # Obvious
gnumake # 'make' command to build executables
htop # Better top
neovim-remote # Remotely control neovim
rofi # Window switcher & App launcher
tree # Print file tree in terminal
zip # Command to zip files
unzip # Command to unzip files
wget # Download web files
## APPLICATIONS
arandr # GUI for xrandr
filelight # View disk usage
inkscape # Vector artwork
vivaldi # Browser
alacritty # Terminal
vlc # Media player
thunderbird # email client
gparted # Partition manager
libreoffice # More word processing
pavucontrol # Pulse Audio controller
minecraft # Minecraft
openjdk # Java Development Kit for Java
python3 # Python 3.6.8
nodejs # Node.JS
#nodePackages.vue-cli # Vue.JS package
## SYSTEM TOOLS
alsaUtils
ntfs3g # NTFS support
##DICTIONARIES
hunspell
hunspellDicts.en-us
hunspellDicts.en-gb-large
hunspellDicts.fr-any
];
fonts = {
fonts = with pkgs; [
#noto-fonts-emoji
font-awesome_4 # Fancy icons font
ipafont # Japanese font
siji # Iconic bitmap font
symbola # Braille support for gotop command
### Programming ligatures ################################################
# *This means that -> will look like an actual arrow and >= and <= #
# actually look like less than or equal and greater than or equal #
# symbols, as opposed to what they look like on a computer #
##########################################################################
#fira-code-symbols # Fancy font with programming ligatures
#fira-code # Fancy font with programming ligatures
powerline-fonts # Fonts for powerlines (Used in my tty)
];
fontconfig.defaultFonts.monospace = [
"Fira Code Medium" # Set default font as Fira Code Medium
"Symbola" # Use Symbola as fallback font
"IPAGothic" # Use IPAGothic as fallback font
];
fontconfig.defaultFonts.emoji = [
"Noto Color Emoji"
#"JoyPixels"
];
};
system.stateVersion = "21.05";
}
But I have multiple times the error “1 dependencies couldn’t be built”. Here is the full log : http://termbin.com/eemp
Just so you know, I’m installing in dual boot with Windows.
So first question: In this kind of situation, how would one debug which derivation is causing the issue?
Second: How do you fix it?
Thanks for the help and write to you soon!
Sinux.