# 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 # ''; # }; }