@ -0,0 +1,26 @@ |
|||||
|
# this file assumes NixOS is being used using the NixOS configuration provided in this repo. |
||||
|
|
||||
|
|
||||
|
cp ./.tmux.conf ~/.tmux.conf |
||||
|
|
||||
|
cp ./vimconfigbase.vim ~/vimconfigbase.vim |
||||
|
cp ./.vimrc ~/.vimrc |
||||
|
|
||||
|
mkdir ~/.config |
||||
|
mkdir ~/.config/nvim |
||||
|
cp ./init.vim ~/.config/nvim/init.vim |
||||
|
|
||||
|
cp ./.zshrc ~/.zshrc |
||||
|
cp ./.sh_alias ~/.sh_alias |
||||
|
|
||||
|
mkdir -p ~/bin |
||||
|
cp ./bin/ltx ~/bin/ |
||||
|
cp ./bin/screens ~/bin/ |
||||
|
cp ./bin/wk ~/bin/ |
||||
|
|
||||
|
|
||||
|
# assuming that Rust is installed |
||||
|
echo "installing delta (gitdiff tool)" |
||||
|
cargo install git-delta |
||||
|
echo "append .gitconfig of this repo lines to the .gitconfig system file to use delta gitdiff tool" |
||||
|
cat .gitconfig >> ~/.gitconfig |
@ -0,0 +1,2 @@ |
|||||
|
private-configuration.nix |
||||
|
hardware-configuration.nix |
@ -0,0 +1,129 @@ |
|||||
|
# Edit this configuration file to define what should be installed on |
||||
|
# your system. Help is available in the configuration.nix(5) man page |
||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’). |
||||
|
|
||||
|
{ config, pkgs, ... }: |
||||
|
|
||||
|
{ |
||||
|
imports = |
||||
|
[ |
||||
|
./hardware-configuration.nix |
||||
|
./extra-hardware-configuration.nix |
||||
|
./private-configuration.nix |
||||
|
]; |
||||
|
|
||||
|
# Bootloader. |
||||
|
boot.loader.systemd-boot.enable = true; |
||||
|
boot.loader.efi.canTouchEfiVariables = true; |
||||
|
|
||||
|
# Setup keyfile |
||||
|
boot.initrd.secrets = { |
||||
|
"/crypto_keyfile.bin" = null; |
||||
|
}; |
||||
|
|
||||
|
networking.hostName = "nixos"; # Define your hostname. |
||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
||||
|
|
||||
|
# Configure network proxy if necessary |
||||
|
# networking.proxy.default = "http://user:password@proxy:port/"; |
||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |
||||
|
|
||||
|
# Enable networking |
||||
|
networking.networkmanager.enable = true; |
||||
|
|
||||
|
# Set your time zone. |
||||
|
time.timeZone = "Europe/Madrid"; |
||||
|
|
||||
|
# Select internationalisation properties. |
||||
|
i18n.defaultLocale = "en_US.UTF-8"; |
||||
|
|
||||
|
i18n.extraLocaleSettings = { |
||||
|
LC_ALL = "en_US.UTF-8"; |
||||
|
}; |
||||
|
|
||||
|
# Configure keymap in X11 |
||||
|
services.xserver = { |
||||
|
layout = "us"; |
||||
|
xkbVariant = ""; |
||||
|
|
||||
|
enable=true; |
||||
|
displayManager = { |
||||
|
defaultSession = "none+i3"; |
||||
|
}; |
||||
|
windowManager.i3 = { |
||||
|
enable=true; |
||||
|
extraPackages = with pkgs; [ |
||||
|
dmenu |
||||
|
i3status |
||||
|
i3lock |
||||
|
]; |
||||
|
}; |
||||
|
}; |
||||
|
|
||||
|
# Define a user account. Don't forget to set a password with ‘passwd’. |
||||
|
users.users.userc = { |
||||
|
isNormalUser = true; |
||||
|
description = "userc"; |
||||
|
extraGroups = [ "networkmanager" "wheel" ]; |
||||
|
packages = with pkgs; []; |
||||
|
}; |
||||
|
|
||||
|
# Allow unfree packages |
||||
|
nixpkgs.config.allowUnfree = true; |
||||
|
|
||||
|
# List packages installed in system profile. To search, run: |
||||
|
# $ nix search wget |
||||
|
environment.systemPackages = with pkgs; [ |
||||
|
vim |
||||
|
neovim |
||||
|
wget |
||||
|
tmux |
||||
|
git |
||||
|
delta |
||||
|
mosh |
||||
|
bat |
||||
|
ripgrep |
||||
|
fzf |
||||
|
python3 |
||||
|
xfce.thunar |
||||
|
screenfetch |
||||
|
htop |
||||
|
alacritty |
||||
|
firefox |
||||
|
qutebrowser |
||||
|
]; |
||||
|
|
||||
|
# Some programs need SUID wrappers, can be configured further or are |
||||
|
# started in user sessions. |
||||
|
# programs.mtr.enable = true; |
||||
|
# programs.gnupg.agent = { |
||||
|
# enable = true; |
||||
|
# enableSSHSupport = true; |
||||
|
# }; |
||||
|
programs.zsh.enable = true; |
||||
|
users.defaultUserShell = pkgs.zsh; |
||||
|
environment.shells = with pkgs; [zsh]; |
||||
|
|
||||
|
# List services that you want to enable: |
||||
|
|
||||
|
# Enable the OpenSSH daemon. |
||||
|
# services.openssh.enable = true; |
||||
|
|
||||
|
# Open ports in the firewall. |
||||
|
# networking.firewall.allowedTCPPorts = [ ... ]; |
||||
|
# networking.firewall.allowedUDPPorts = [ ... ]; |
||||
|
# Or disable the firewall altogether. |
||||
|
# networking.firewall.enable = false; |
||||
|
|
||||
|
# This value determines the NixOS release from which the default |
||||
|
# settings for stateful data, like file locations and database versions |
||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave |
||||
|
# this value at the release version of the first install of this system. |
||||
|
# Before changing this value read the documentation for this option |
||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). |
||||
|
system.stateVersion = "23.05"; # Did you read the comment? |
||||
|
|
||||
|
# gvfs needed for Thunar to detect external disks |
||||
|
services.gvfs.enable = true; |
||||
|
|
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
# This is a custom file for a chromebook. |
||||
|
|
||||
|
{ config, lib, pkgs, modulesPath, ... }: |
||||
|
|
||||
|
{ |
||||
|
services.logind.extraConfig = '' |
||||
|
# disable power button. This is for the chromebook |
||||
|
HandlePowerKey=ignore |
||||
|
''; |
||||
|
|
||||
|
# Set an usable key configuration: Ctrl at capslock, Win at Alt, Alt at Ctrl |
||||
|
services.xserver.displayManager.sessionCommands ='' |
||||
|
${pkgs.xorg.xmodmap}/bin/xmodmap "${pkgs.writeText "xkb-layout" '' |
||||
|
! |
||||
|
! Swap Caps_Lock and Control_L |
||||
|
! |
||||
|
|
||||
|
remove control = Control_L |
||||
|
remove mod1 = Alt_L |
||||
|
remove mod4 = Super_L |
||||
|
|
||||
|
keysym Control_L = Alt_L |
||||
|
keysym Super_L = Control_L |
||||
|
keysym Alt_L = Super_L |
||||
|
|
||||
|
add control = Control_L |
||||
|
add mod1 = Alt_L |
||||
|
add mod4 = Super_L |
||||
|
''}" |
||||
|
''; |
||||
|
} |