@ -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 |
|||
''}" |
|||
''; |
|||
} |