{"id":17019456,"url":"https://github.com/indykish/freebsd","last_synced_at":"2025-04-22T22:28:51.305Z","repository":{"id":148160719,"uuid":"124178565","full_name":"indykish/freebsd","owner":"indykish","description":"This is going to come handy for anybody who wish to switch over to FreeBSD 12 \u003e as their development platform.","archived":false,"fork":false,"pushed_at":"2018-10-15T07:29:17.000Z","size":819,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T19:34:30.512Z","etag":null,"topics":["development-environment","freebsd","freebsd-scripts","work"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indykish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-03-07T04:22:51.000Z","updated_at":"2024-06-25T10:29:50.000Z","dependencies_parsed_at":"2023-06-18T13:55:05.545Z","dependency_job_id":null,"html_url":"https://github.com/indykish/freebsd","commit_stats":null,"previous_names":["indykish/freebsd"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indykish%2Ffreebsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indykish%2Ffreebsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indykish%2Ffreebsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indykish%2Ffreebsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indykish","download_url":"https://codeload.github.com/indykish/freebsd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250333621,"owners_count":21413423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development-environment","freebsd","freebsd-scripts","work"],"created_at":"2024-10-14T06:49:11.961Z","updated_at":"2025-04-22T22:28:51.277Z","avatar_url":"https://github.com/indykish.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Freebsd\n\nThis is going to come handy for anybody who uses FreeBSD 11.x \u003e as their development platform. \n\n\n# When installing\n\n[] Make sure you add the user (*in my case - the user* is named as  **ram**) to the group `wheel`\n\n# Upon installation\n\nAfter installation you will see a console prompt as here. \n\n![UI](https://github.com/indykish/freebsd/blob/master/images/gnome3_lite.png)\n\n# Gnome3\n\nInstall Gnome 3 lite. \n\n```\n$ su\n\n$ pkg install gnome3-lite\n\n```\n\nThen follow the instructions here \n\n[FreeBSD X11](https://www.freebsd.org/doc/handbook/x11-wm.html)\n\n\n## How to do pkg install ?\n\n[![Watch this](https://asciinema.org/a/gby5ujfkX9dT13cSW1fkCnNcS.png)](https://asciinema.org/a/gby5ujfkX9dT13cSW1fkCnNcS)\n\n## XOrg\n\nInclude the *i915kms* for the UI to come up. There is no `xorg.conf`, the UI automatically loads.\n\n```\n\nkld_list=\"i915kms\"\n\n```\n\n# Sudo\n\n```\nsu\n\npkg install sudo\n\n```\n\nAdd the user to sudoer file\n\n# Bash\n\nIf you come from linux land, then you will have used bash scripts.\n\nNow that we have installed `sudo`, lets use them.\n\n```\n\nsudo pkg install bash\n\nchsh -s /usr/local/bin/bash\n\nshutdown -r now\n\n```\n\nThe shell refreshed after doing a reboot.\n\n# Make in linux is `gmake` here.\n\nThe `Make` that comes in freebsd is [Berkely Make](https://www.freebsd.org/doc/en/books/developers-handbook/tools-make.html)\n\nBut you can install and setup an *alias* **make** in the `.bashrc`\n\n```\n\npkg install gmake\n\n```\n\n\n# Rust\n\nThis is pretty easy to [install](https://www.rust-lang.org/en-US/install.html) \n\n\n```\ncurl https://sh.rustup.rs -sSf | sh\n\nrustup component add rustfmt-preview\n\n\n```\n\nIt didn't pull some of the `LIB` like `SODIUM` when compiling.\n\nSo add this in your *.bashrc* file\n\n```\nexport SODIUM_LIB_DIR=/usr/local/lib\n\n```\n\n# OCaml 4.06.1\n\nThis is pretty easy but will become difficult when `opam 2.0` is released, since it needs a better version of OCaml to perform the `switch`.  The OCaml packaged in FreeBSD is \n\n`4.02.3` \n\n```\n\nsudo pkg install ocaml-opam\n\nopam init\n\nopam switch 4.06.1\n\n```\n\n![OCAML 4.06.1 FreeBSD](https://github.com/indykish/freebsd/blob/master/images/ocaml.png)\n\n# Nodejs\n\nThis is pretty easy, but you won't be able to use the latest and greatest.\n\nYou can compile from source.\n\n```\n# Install node 9.3 \npkg install node \n\n```\n\n## Yarn\n\n[Install 1.5.x](https://yarnpkg.com/en/docs/install)\n\n```\ncurl -o- -L https://yarnpkg.com/install.sh | bash\n\n```\n\n# Ruby\n\nThis isn't as sweet as imagined pretty easy but will become difficult when `opam 2.0` is released. \n\nInstall RVM\n```\ngpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB\n\n\n\\curl -sSL https://get.rvm.io | bash -s stable\n\n```\n\nInstall Ruby\n\n```\n\nrvm install ruby\n\n```\n\nInstall bundler\n\n```\n\ngem install bundler\n\n```\n\nInstall native packages \n\n```\n\nsudo pkg install pkgconfig cmake libgit2\n\n```\n\n# Git\n\n```\nsudo pkg install git\n\n```\n\n# PostgreSQL 10.x\n\nFreeBSD has the latest packaged.\n\n```\n\nsudo pkg install postgresql10-server-10.3 postgresql10-client-10.3 \n\n\n```\n\n# Asciinema\n\n```\n\npkg install asciinema\n\n```\n\n# Editors\n\nWith modern editors picking up, this has been a major hassle for folks to move. \n\n## Text editor\n\nIf you are used to `vim` then  great. But there is another editor `vi` which works better than `nano`\n\n### Vim\n\nThis editor is great. I recently moved to this, and has been going strong.\n\n#### Tips\n\n- [Mastering VIM - YouTube](https://www.youtube.com/watch?v=wlR5gYd6um0\u0026t=741s)\n\n- [Search \u0026 Replace in all files](https://stackoverflow.com/questions/4804405/search-and-replace-in-vim-across-all-the-project-files/38004355#38004355)\n\n- [Silver searcher is deprecated, usage ack](https://stackoverflow.com/questions/4792561/how-to-do-search-replace-with-ack-in-vim#8744108)\n\n- [Search for matching brackets](https://unix.stackexchange.com/questions/30396/in-vim-search-backwards-for-matching-braces-parens)\n\n- [Automatically create matching brackets](https://unix.stackexchange.com/questions/54996/automatically-create-matching-braces-in-vim)\n\n```\n\n:cdo %s/\u003csearch term\u003e/\u003creplace term\u003e/gc\n\n```\n\nInstead of :grep, you can setup `silversearch` and with keymap `\u003cLeader\u003e A` \n \n- [Search \u0026 Replace in buffer](http://vim.wikia.com/wiki/Search_and_replace_in_multiple_buffers)\n\nA separate project will have my vim cheatsheet.\n\n### VSCode\n\nThe editor support is picky. \n\nIf you have the time the compile [vscode` from source](https://gist.github.com/prash-wghats/89be1ee069d2acf23c289e9c606616e1) \n\n### Sublime Text\n\nUnfortunately this is commercial software. But supports well.\n\n![Sublime 3 In Action](https://github.com/indykish/freebsd/blob/master/images/sublime_text.png)\n\nThe following `Package Control` will come in handy.\n\n- [Better OCAML](https://packagecontrol.io/packages/Better%20OCaml)\n- [Golang Build](https://packagecontrol.io/packages/Golang%20Build)\n- [Rust Enhanced](https://packagecontrol.io/packages/Rust%20Enhanced)\n- [SideBar Tools](https://packagecontrol.io/packages/SideBarTools)\n- [Dark Monokai Theme applied in the Sidebar](https://github.com/eneko89/sublime-monokai-sidebar)\n\n![Sublime 3 with needed packages](https://github.com/indykish/freebsd/blob/master/images/sublime_packagecontrol.png)\n\n### Atom Xray - not ready yet\n\nWe need to keep a tab on this project [https://github.com/atom/xray](https://github.com/atom/xray)\n\n### C9 IDE - using containers\n\nThis is a nodejs project (C9 IDE)[https://github.com/c9/core]\n\n### Gnome Builder\n\nSupports *C/C++, Python, Rust* - Yay. But not `OCaml, JS, Ruby`. \n\n\n```\n\npkg install gnome-builder\n\n\n```\n\n### SlickEdit\n\nThis is a great editor, kept up to a core developer experience. But commercial.\n\n[![Install SlickEdit using Linux bundle](https://asciinema.org/a/168519.png)](https://asciinema.org/a/168519)\n\nThere is no FreeBSD bundle. You can download the 64 bit Linux bundle. See the AsciiCast in installing SlickEdit.\n\n```\ntar -xvf sestandard*.tar.gz\n\ncd sestandard*\n\nsudo brandelf -t Linux vsinst\n\n./vsinst\n\n```\n\n# Browser\n\nNo vivaldi or brave\n\nChromium is heavy\n```\nsudo pkg install chromium\n\n```\n\nFirefox has the latest updated version and recommended.\n\n```\n\nsudo pkg install firefox\n\n```\n\n# Picture viewer\n\nI find `viewnior` better than `EyeOfGnome` as it easy of memory.\n\n```\n\nsudo pkg install viewnior\n\n```\n\n# Compressor (Archiver)\n\nFileroller from Gnome is good. But `xarchiver` does the job for me.\n\n```\npkg install xarchiver\n\n```\n\n# Network\n \nStill run using the base WiFi during the setup. Need to add `network-manager` to manage the network.\n\n![Network sans manager](https://github.com/indykish/freebsd/blob/master/images/network_sans_manager.png)\n\n# The configuration files\n\nAssumptions in the folder structure posted.\n\n- `ram` is my $HOME = */usr/home/ram* \n- `ram/etc` actually resides */etc*\n- `ram/usr/local/etc` resides in */usr/local/etc*\n\n- [/etc/rc.conf](https://github.com/indykish/freebsd/blob/master/ram/etc/rc.conf)\n- [~/.bashrc](https://github.com/indykish/freebsd/blob/master/ram/.bashrc)\n- [~/.profile](https://github.com/indykish/freebsd/blob/master/ram/.profile)\n- [~/.gemrc](https://github.com/indykish/freebsd/blob/master/ram/.gemrc)\n- [~/.rvmrc](https://github.com/indykish/freebsd/blob/master/ram/.rvmrc)\n- [All](https://github.com/indykish/freebsd/tree/master/ram)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findykish%2Ffreebsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findykish%2Ffreebsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findykish%2Ffreebsd/lists"}