Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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, ... }:
- let
- dbus-hyprland-environment = pkgs.writeTextFile {
- name = "dbus-hyprland-environment";
- destination = "/bin/dbus-hyprland-environment";
- executable = true;
- text = ''
- dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland
- systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
- systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
- '';
- };
- configure-gtk = pkgs.writeTextFile {
- name = "configure-gtk";
- destination = "/bin/configure-gtk";
- executable = true;
- text = let
- schema = pkgs.gsettings-desktop-schemas;
- datadir = "${schema}/share/gesettings/schemas/${schema.name}";
- in ''
- export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
- gnome_schema=org.gnome.desktop.interface
- gesettings set $gnome_schema gtk-theme 'Adwaita'
- '';
- };
- in {
- #services.clamav.enable = true;
- #virtualisation.waydroid.enable = true;
- nix.settings.auto-optimise-store = true;
- services.avahi.enable = true;
- programs.xwayland.enable = true;
- services.dbus.enable = true;
- xdg.portal = {
- enable = true;
- wlr.enable = true;
- # gtk portal needed to make gtk apps happy
- extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
- };
- services.geoclue2 = {
- enable = true;
- enableDemoAgent = true;
- enableWifi = true;
- appConfig = {
- gnome-maps = {
- isAllowed = true;
- isSystem = true;
- };
- "io.elementary.desktop.agent-geoclue2" = {
- isAllowed = true;
- isSystem = true;
- };
- redshift = {
- isAllowed = true;
- isSystem = true;
- };
- };
- };
- programs.sway.enable = true;
- #xdg.portal.enable = true;
- #xdg.portal.wlr.enable = true;
- system.autoUpgrade.enable = false;
- nix.optimise.automatic = true;
- services.logind.lidSwitch = "suspend";
- programs.seahorse.enable = true;
- security.pam.services.gdm.enableGnomeKeyring = true;
- ##############################################################
- powerManagement.enable = true;
- powerManagement.resumeCommands = ''
- echo "This should show up in the journal after resuming."
- '';
- powerManagement.powerDownCommands = ''
- '';
- ##############################################################
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
- nix.settings = {
- substituters = ["https://hyprland.cachix.org"];
- trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
- };
- imports = [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ]; #BROTHER SCANNER
- #######################################################
- hardware.sane.enable = true;
- hardware.sane.brscan4.enable = true;
- hardware.sane.brscan4.netDevices = {
- work_scanner = { model = "MFC-J5320DW"; ip = "192.168.43.102"; };
- };
- ########################################################
- boot.kernelPackages = pkgs.linuxPackages_zen;
- services.blueman.enable = true;
- ########################################################
- ########################################################
- ################NOT GOOD################################
- nixpkgs.config.permittedInsecurePackages = [
- "python-2.7.18.6"
- ];
- ########################################################
- ########################################################
- # Bootloader.
- # Use the GRUB 2 boot loader.
- boot.loader.grub.enable = true;
- boot.loader.grub.efiSupport = true;
- boot.loader.grub.useOSProber = false;
- # boot.loader.grub.efiInstallAsRemovable = true;
- boot.loader.efi.efiSysMountPoint = "/boot/efi";
- # Define on which hard drive you want to install Grub.
- boot.loader.grub.device = "nodev"; # or "nodev" for efi only
- # boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- #boot.loader.efi.efiSysMountPoint = "/boot/efi";
- #ecryptfs
- security.pam.enableEcryptfs = false;
- networking.hostName = "xpowx1"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- hardware.bluetooth.enable = true;
- # 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 = "Australia/Adelaide";
- # Select internationalisation properties.
- i18n.defaultLocale = "en_GB.UTF-8";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "en_AU.UTF-8";
- LC_IDENTIFICATION = "en_AU.UTF-8";
- LC_MEASUREMENT = "en_AU.UTF-8";
- LC_MONETARY = "en_AU.UTF-8";
- LC_NAME = "en_AU.UTF-8";
- LC_NUMERIC = "en_AU.UTF-8";
- LC_PAPER = "en_AU.UTF-8";
- LC_TELEPHONE = "en_AU.UTF-8";
- LC_TIME = "en_AU.UTF-8";
- };
- # Fonts
- fonts.fonts = with pkgs; [
- fira-code
- fira
- fira-code-symbols
- nerdfonts
- ];
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- # Enable the GNOME Desktop Environment.
- services.xserver.displayManager.gdm.wayland = true;
- services.xserver.displayManager.gdm.enable = true;
- services.xserver.desktopManager.gnome.enable = false;
- programs.dconf.enable = true;
- services.gnome.evolution-data-server.enable = true;
- # optional to use google/nextcloud calendar
- services.gnome.gnome-online-accounts.enable = true;
- # optional to use google/nextcloud calendar
- services.gnome.gnome-keyring.enable = true;
- # Configure keymap in X11
- services.xserver = {
- layout = "us";
- xkbVariant = "";
- };
- # Enable CUPS to print documents.
- services.printing.enable = true;
- services.printing.drivers = [ pkgs.brlaser ];
- # Enable sound with pipewire.
- sound.enable = true;
- hardware.pulseaudio.enable = false;
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
- };
- # use the example session manager (no others are packaged yet so this is enabled by default,
- # no need to redefine it in your config for now)
- #media-session.enable = 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.dav = {
- isNormalUser = true;
- description = "dav";
- extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "tty" "input" "video" "audio" "systemd-journal" ];
- packages = with pkgs; [
- # thunderbird
- ];
- };
- ########################waybar experimental features##############
- nixpkgs.overlays = [
- (self: super: {
- waybar = super.waybar.overrideAttrs (oldAttrs: {
- mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
- });
- })
- ];
- # Allow unfree packages
- nixpkgs.config.allowUnfree = 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.
- # libnl
- # hibernate
- # nix-software-center
- # nixos-conf-editor
- # waydroid
- brave
- arch-install-scripts
- gnupg
- vulnix
- krita
- gnome.cheese
- avahi
- geoclue2
- gnome.gnome-maps
- gnome.gnome-calendar
- galculator
- xwayland
- xdg-desktop-portal-wlr
- xdg-desktop-portal-gtk
- onlyoffice-bin
- wlogout
- gnome.libgnome-keyring
- libsecret
- gnome.gnome-keyring
- gnome.seahorse
- gthumb
- swaybg
- lxappearance
- vscodium
- epdfview
- cinnamon.nemo-with-extensions
- unzip
- nmap
- gnome.simple-scan
- cups
- xsane
- brscan4
- gvfs
- gnome.gnome-clocks
- xarchiver
- gnumake
- git
- feh
- pulseaudio
- # electron-mail
- wlsunset
- redshift
- batsignal
- blueman
- nanorc
- networkmanagerapplet
- brightnessctl
- firefox
- waybar
- terminator
- wayland
- xdg-utils # for openning default programms when clicking links
- glib # gsettings
- dracula-theme # gtk theme
- gnome3.adwaita-icon-theme # default gnome cursors
- swaylock-effects
- swayidle
- grim # screenshot functionality
- slurp # screenshot functionality
- wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
- wofi # wayland clone of dmenu
- swaynotificationcenter # notification system developed by swaywm maintain
- tdesktop
- starship
- fish
- neofetch
- ecryptfs
- ecryptfs-helper
- wget
- libinput-gestures
- os-prober
- vlc
- ncdu
- ];
- # 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.11"; # Did you read the comment?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement