diff --git a/.configuration.nix.swp b/.configuration.nix.swp new file mode 100644 index 0000000..45f8dd5 Binary files /dev/null and b/.configuration.nix.swp differ diff --git a/configuration.nix b/configuration.nix index 3087c50..0ec906d 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,46 +1,20 @@ -# 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 + stateVersion = "23.05"; +in { imports = - [ # Include the results of the hardware scan. + [ ./hardware-configuration.nix ]; - # Use the GRUB 2 boot loader. - # boot.loader.grub.enable = true; - # boot.loader.grub.efiSupport = true; - # 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 = "/dev/sda"; # or "nodev" for efi only boot.loader.systemd-boot.enable = true; + networking.hostName = "x260"; + time.timeZone = "Europe/Amsterdam"; + i18n.defaultLocale = "nl_NL.UTF-8"; - # networking.hostName = "nixos"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - - # Set your time zone. - # time.timeZone = "Europe/Amsterdam"; - - # 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 = "en_US.UTF-8"; - # console = { - # font = "Lat2-Terminus16"; - # keyMap = "us"; - # useXkbConfig = true; # use xkbOptions in tty. - # }; - - # Enable the X11 windowing system. services.xserver = { enable = true; displayManager.gdm.enable = true; @@ -49,92 +23,62 @@ }; home-manager.users.pim = { pkgs, ... }: { - programs.home-manager.enable = true; - programs.bash = { - enable = true; - shellAliases = { - htop = "btop"; - }; + home = { + username = "pim"; + homeDirectory = "/home/pim"; + stateVersion = stateVersion; }; - home.username = "pim"; - home.homeDirectory = "/home/pim"; - home.stateVersion = "23.05"; - home.packages = with pkgs; [ firefox ]; + programs = { + home-manager.enable = true; + alacritty.enable = true; + firefox.enable = true; + + bash = { + enable = true; + shellAliases = { + htop = "btop"; + gp = "git push"; + gco = "git checkout"; + gd = "git diff"; + gc = "git commit"; + gpl = "git pull"; + gb = "git branch"; + ga = "git add"; + gl = "git log"; + }; + }; + + direnv = { + enable = true; + enableBashIntegration = true; + nix-direnv.enable = true; + }; + }; # Let home-manager manage the X session xsession = { enable = true; }; - - programs.alacritty = { - enable = true; - }; }; - # Configure keymap in X11 - # services.xserver.layout = "us"; - # services.xserver.xkbOptions = "eurosign:e,caps:escape"; - - # Enable CUPS to print documents. - # services.printing.enable = true; - - # Enable sound. - # sound.enable = true; - # hardware.pulseaudio.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.pim = { isNormalUser = true; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + extraGroups = [ "wheel" ]; }; - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - vim - wget - curl - git - btop - ]; + environment = { + systemPackages = with pkgs; [ + vim + wget + curl + git + btop + ]; + gnome.excludePackages = with pkgs; [ gnome-tour gnome.epiphany gnome.geary ]; + }; - environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome.epiphany gnome.geary ]; - - # 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; - - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; - - # 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? + system.stateVersion = stateVersion; }