434 lines
12 KiB
Nix
434 lines
12 KiB
Nix
# 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, buildPythonPackage, ... }:
|
||
|
||
let
|
||
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
||
|
||
in
|
||
{
|
||
imports =
|
||
[ # Include the results of the hardware scan.
|
||
./hardware-configuration.nix
|
||
(import "${home-manager}/nixos")
|
||
];
|
||
|
||
# systemd.services = {
|
||
# create-swapfile = {
|
||
# serviceConfig.Type = "oneshot";
|
||
# wantedBy = [ "swap-swapfile.swap" ];
|
||
# script = ''
|
||
# ${pkgs.coreutils}/bin/truncate -s 0 /swap/swapfile
|
||
# ${pkgs.e2fsprogs}/bin/chattr +C /swap/swapfile
|
||
# ${pkgs.btrfs-progs}/bin/btrfs property set /swap/swapfile compression none
|
||
# '';
|
||
# };
|
||
# };
|
||
|
||
# Use the systemd-boot EFI boot loader.
|
||
boot.loader.grub.enable = true;
|
||
# boot.loader.efi.canTouchEfiVariables = true;
|
||
boot.loader.grub.efiInstallAsRemovable = true;
|
||
boot.loader.grub.efiSupport = true;
|
||
boot.loader.grub.device = "nodev";
|
||
boot.loader.grub.extraEntries = ''
|
||
menuentry 'Void GNU/Linux' --class void --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||
load_video
|
||
set gfxpayload=keep
|
||
insmod gzio
|
||
insmod part_gpt
|
||
insmod fat
|
||
set root='hd0,gpt1'
|
||
if [ x$feature_platform_search_hint = xy ]; then
|
||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||
else
|
||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||
fi
|
||
echo 'Loading Linux 5.15.19_1 ...'
|
||
linux /vmlinuz-5.15.19_1 root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c ro rootflags=subvol=@void loglevel=4 rd.vconsole.keymap=colemak rd.luks.uuid=luks-7e99abff-be7a-4fa7-aeeb-e54e5fa9d9a8 rootfstype=btrfs rootflags=rw,noatime,compress=zstd:3,subvol=@void
|
||
echo 'Loading initial ramdisk ...'
|
||
initrd /initramfs-5.15.19_1.img
|
||
}
|
||
'';
|
||
|
||
#boot.kernelParams = [ "rd.vconsole.keymap=colemak" ];
|
||
|
||
# networking.hostName = "nixos"; # Define your hostname.
|
||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||
|
||
# Set your time zone.
|
||
time.timeZone = "America/Sao_Paulo";
|
||
|
||
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||
# replicates the default behaviour.
|
||
networking.useDHCP = false;
|
||
#networking.interfaces.br-0990e9f22445.useDHCP = true;
|
||
# networking.interfaces.br-17830196a80a.useDHCP = true;
|
||
# networking.interfaces.docker0.useDHCP = true;
|
||
networking.interfaces.enp2s0.useDHCP = true;
|
||
networking.interfaces.wlan0.useDHCP = true;
|
||
|
||
# Configure network proxy if necessary
|
||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||
|
||
# Select internationalisation properties.
|
||
i18n.defaultLocale = "pt_BR.UTF-8";
|
||
console = {
|
||
# font = "Lat2-Terminus16";
|
||
keyMap = "colemak";
|
||
};
|
||
|
||
fonts.fonts = with pkgs; [
|
||
(nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; })
|
||
];
|
||
|
||
# Enable the X11 windowing system.
|
||
services.xserver.enable = true;
|
||
|
||
|
||
# Configure keymap in X11
|
||
# services.xserver.layout = "colemak";
|
||
# services.xserver.xkbOptions = "eurosign:e";
|
||
|
||
# Enable CUPS to print documents.
|
||
# services.printing.enable = true;
|
||
|
||
# Enable sound.
|
||
sound.enable = true;
|
||
hardware.pulseaudio.enable = true;
|
||
nixpkgs.config.pulseaudio = true;
|
||
|
||
# Enable touchpad support (enabled default in most desktopManager).
|
||
services.xserver.libinput.enable = true;
|
||
|
||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||
users.users.lelgenio = {
|
||
isNormalUser = true;
|
||
extraGroups = [ "wheel" "audio" "video" "input" "docker" ]; # Enable ‘sudo’ for the user.
|
||
};
|
||
security.sudo.wheelNeedsPassword = false;
|
||
|
||
|
||
# programs.sway.enable = true;
|
||
# xdg.portal.wlr.enable = true;
|
||
services.pipewire.enable = true;
|
||
|
||
# Gnome
|
||
services.xserver.desktopManager.gnome.enable = true;
|
||
services.xserver.displayManager.gdm.enable = true;
|
||
services.gnome.tracker-miners.enable = false;
|
||
services.gnome.tracker.enable = false;
|
||
|
||
home-manager.users.lelgenio = {
|
||
/* Here goes your home-manager config, eg home.packages = [ pkgs.foo ]; */
|
||
home.packages = with pkgs; [
|
||
|
||
# # missing
|
||
# # caffeinated
|
||
# # dotdrop
|
||
# # papirus-folders papirus-libreoffice-theme
|
||
# # tuxi-git
|
||
# # bluez bluez-utils bluez-plugins
|
||
# #thunar-vcs-plugin
|
||
# # clyrics
|
||
# # zathura-pdf-mupdf
|
||
# # libreoffice-fresh-pt-br hunspell-pt-br
|
||
# # neovim python-pynvim neovim-symlinks
|
||
|
||
|
||
|
||
|
||
|
||
# # Sway
|
||
sway swayidle swaylock waybar
|
||
bemenu j4-dmenu-desktop
|
||
|
||
|
||
# # Utility
|
||
fusuma light mako kanshi udiskie
|
||
gammastep
|
||
wtype
|
||
# # Configuration manager
|
||
xsettingsd
|
||
|
||
# # Screenshot
|
||
grim slurp swappy wl-clipboard imagemagick wf-recorder
|
||
|
||
# # Dav
|
||
vdirsyncer khal khard
|
||
|
||
# Audio
|
||
# pulseaudio pulseaudio-rtp pulseaudio-alsa pulseaudio-bluetooth
|
||
pamixer pulsemixer pavucontrol
|
||
|
||
|
||
# # # Fonts
|
||
# # # inter-font ttf-ms-fonts ttf-dejavu
|
||
# # # nerd-fonts-hack nerd-fonts-fira-code
|
||
|
||
# # # Icons
|
||
# # # otf-font-awesome ttf-font-awesome
|
||
|
||
# # Emoji and stuff
|
||
noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
|
||
|
||
|
||
papirus-icon-theme
|
||
|
||
|
||
capitaine-cursors
|
||
|
||
|
||
# # Terminal
|
||
# # Emulators
|
||
kitty alacritty
|
||
# #Tools
|
||
|
||
translate-shell tealdeer so
|
||
ranger atool p7zip jq fzf
|
||
neofetch htop bpytop
|
||
inxi entr
|
||
#Prompt
|
||
starship
|
||
# Replacements
|
||
#ls cat rm -rf grep find sed diff cd fmt
|
||
exa bat trash-cli ripgrep fd sd diffr zoxide par
|
||
|
||
|
||
# Network
|
||
iwd dhcpcd
|
||
# Transfer
|
||
wget curl rsync rclone nmap
|
||
# Testing
|
||
# tor nettools
|
||
netcat-gnu mtr speedtest-cli
|
||
inetutils
|
||
# ssh
|
||
openssh sshfs fail2ban
|
||
# Bluetooth
|
||
|
||
|
||
# Browser
|
||
qutebrowser yt-dlp
|
||
|
||
# # Email
|
||
neomutt urlview isync
|
||
|
||
# # # Files
|
||
|
||
xfce.thunar-volman
|
||
xfce.thunar-archive-plugin mate.engrampa
|
||
syncthing xdg-user-dirs
|
||
transmission
|
||
python39Packages.deemix
|
||
|
||
# Media
|
||
pqiv mpv
|
||
mpd mpc_cli ncmpcpp mpdris2
|
||
playerctl
|
||
kdeconnect
|
||
blender gimp
|
||
zathura
|
||
|
||
# Office
|
||
libreoffice-fresh
|
||
|
||
# Programing
|
||
kakoune
|
||
|
||
|
||
shfmt nodePackages.bash-language-server
|
||
|
||
# web lsp
|
||
nodePackages.vscode-css-languageserver-bin
|
||
# vscode-html-languageserver
|
||
# vscode-css-languageserver
|
||
# vscode-json-languageserver
|
||
|
||
# # php lsp
|
||
# # nodejs-intelephense
|
||
|
||
# # Python
|
||
# # ipython bpython
|
||
|
||
# # Python lsp
|
||
# # python-language-server
|
||
# # python-pylint autopep8 pyls-mypy
|
||
# # python-mccabe python-rope python-pyflakes
|
||
# # python-pycodestyle python-pydocstyle
|
||
|
||
# rust lsp
|
||
rust-analyzer
|
||
|
||
# Compiled
|
||
# rustc
|
||
cargo
|
||
gcc
|
||
gdb
|
||
meson
|
||
|
||
# # work
|
||
# # mariadb
|
||
# # php7 php7-apache
|
||
# # phpmyadmin
|
||
# # lipsum-git emmet-cli
|
||
# # blade-formatter prettier
|
||
# # nodejs-less nodejs-less-plugin-clean-css
|
||
# # uglify-js
|
||
|
||
# Virt
|
||
qemu
|
||
|
||
# Power manager
|
||
tlp
|
||
|
||
# # Gtk
|
||
# # gtk3-nocsd-legacy-git
|
||
|
||
# Qt
|
||
# qt5-base
|
||
# qt5-wayland
|
||
qt5ct
|
||
# kvantum-qt5
|
||
libsForQt5.qtstyleplugins
|
||
|
||
# # X11
|
||
# #xorg-xwayland
|
||
|
||
# # codecs
|
||
# # gst-plugins-good gst-plugins-bad
|
||
|
||
# Tray
|
||
libappindicator-gtk3
|
||
# lib32-libappindicator-gtk2 lib32-libappindicator-gtk3
|
||
|
||
# # Chat
|
||
# discord telegram-desktop
|
||
# jitsi-meet-desktop-bin
|
||
#
|
||
# # Gaming
|
||
# steam
|
||
# lutris
|
||
#lutris-wine-meta wine wine-mono winetricks
|
||
|
||
# File thumbnails
|
||
# tumbler
|
||
ffmpegthumbnailer poppler
|
||
libgsf libgepub
|
||
# libopenraw freetype2
|
||
|
||
|
||
|
||
|
||
# # alacritty
|
||
|
||
any-nix-shell
|
||
capitaine-cursors
|
||
hack-font
|
||
htop
|
||
kakoune
|
||
neomutt
|
||
nerdfonts
|
||
nodejs
|
||
orchis-theme
|
||
pass-wayland
|
||
# php-with-extensions
|
||
python3
|
||
# python3.8-pip
|
||
tdesktop
|
||
xfce.thunar
|
||
thunderbird
|
||
vscodium
|
||
waybar
|
||
wl-clipboard
|
||
yarn
|
||
yarn2nix
|
||
|
||
];
|
||
};
|
||
|
||
virtualisation.docker.enable = true;
|
||
|
||
# List packages installed in system profile. To search, run:
|
||
# $ nix search wget
|
||
environment.systemPackages = with pkgs; [
|
||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||
micro
|
||
wget
|
||
firefox
|
||
fish
|
||
iwd
|
||
|
||
jq
|
||
diffr
|
||
docker
|
||
docker-compose
|
||
git
|
||
gnumake
|
||
tmux
|
||
ripgrep
|
||
|
||
gnome3.gnome-tweaks
|
||
];
|
||
|
||
|
||
programs.fish.enable = true;
|
||
users.defaultUserShell = pkgs.fish;
|
||
# programs.fish.plugins = [
|
||
# {
|
||
# name = "nix-env.fish";
|
||
# src = pkgs.fetchFromGitHub {
|
||
# owner = "lilyball";
|
||
# repo = "nix-env.fish";
|
||
# rev = "7b65bd228429e852c8fdfa07601159130a818cfa";
|
||
# sha256 = "069ybzdj29s320wzdyxqjhmpm9ir5815yx6n522adav0z2nz8vs4";
|
||
# };
|
||
# }
|
||
# ];
|
||
|
||
|
||
# services.mysql.enable = true;
|
||
# services.mysql.package = pkgs.mariadb;
|
||
|
||
# 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;
|
||
};
|
||
|
||
# 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 = "22.05"; # Did you read the comment?
|
||
|
||
|
||
# nix = {
|
||
# package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
|
||
# extraOptions = ''
|
||
# experimental-features = nix-command flakes
|
||
# '';
|
||
# };
|
||
|
||
}
|
||
|